TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #2475 1.81K
🤔 Что такое адаптер?

Адаптер (Adapter) – это шаблон проектирования, который используется для приведения интерфейсов несовместимых классов к единому виду. Он выступает посредником между двумя несовместимыми системами.

🚩Пример: Адаптер в Java (Object Adapter)
Допустим, у нас есть старый класс OldCharger, который работает с вольтажем 220V, а мы хотим, чтобы он работал с USB (5V).
Старый интерфейс (неподходящий)
class OldCharger {
void charge220V() {
System.out.println("Зарядка 220V...");
}
}


Новый интерфейс (нужный)
interface USBCharger {
void charge5V();
}


Адаптер, который превращает 220V в 5V
class ChargerAdapter implements USBCharger {
private OldCharger oldCharger;

public ChargerAdapter(OldCharger oldCharger) {
this.oldCharger = oldCharger;
}

@Override
public void charge5V() {
System.out.println("Преобразуем 220V в 5V...");
oldCharger.charge220V();
}
}


Использование адаптера
public class Main {
public static void main(String[] args) {
OldCharger oldCharger = new OldCharger();
USBCharger adapter = new ChargerAdapter(oldCharger);

adapter.charge5V(); // Теперь старая зарядка работает с 5V!
}
}


Object Adapter (адаптер-объект) – использует композицию (пример выше).
Class Adapter (адаптер-класс) – использует наследование (extends).
class ChargerAdapter extends OldCharger implements USBCharger {
@Override
public void charge5V() {
System.out.println("Преобразуем 220V в 5V...");
charge220V();
}
}


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 7
More from @easy_java_ru
  1. Oct 2, 2026🤔 Что такое временная сложность? Временная сложность — это оценка времени выполнения алго…
  2. Oct 2, 2026🤔 Что такое синхронизация и зачем она нужна? Синхронизация — это механизм, который исполь…
  3. Oct 2, 2026Post #2933
  4. Oct 1, 2026🤔 Как подключить свою библиотеку в другом проекте? Для подключения своей библиотеки: - со…
  5. Oct 1, 2026Post #2931
  6. Oct 1, 2026🤔 Как бороться в БД с SQL Injection? SQL Injection – это атака, при которой злоумышленник…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →