Язык программирования Java Дмитриев Андрей Владиславович 2007
Адаптер Преобразует программный интерфейс одного класса к другому. Используется при необходимости заставить несвязанные классы работать вместе. Два возможных подхода: Наследование(порождение от одного класса и создание методов, «понятных» второму). Композиция(создание нового класса, содержащего внутри себя первый; адресация методов к внутреннему классу).
Адаптер (интерфейс) public void MainFrame extends Frame implements WindowListener { //заинтересован в сообщениях для окна public void MainFrame() { addWindowListener(this); } public void windowClosing(WindowEvent wEvt) { //завершение приложения по событию System.exit(0); } public void windowClosed(WindowEvent wEvt) {} public void windowOpened(WindowEvent wEvt) {} public void windowIconified(WindowEvent wEvt) {} public void windowDeiconified(WindowEvent wEvt) {} public void windowActivated(WindowEvent wEvt) {} public void windowDeactivated(WindowEvent wEvt) {} }
Адаптер (класс-адаптер) class WindAp extends WindowAdapter { //стандартный класс JDK //определение только одного метода public void windowClosing(WindowEvent e) { System.exit(0); } public class Closer extends Frame { public Closer() { WindAp windap = new WindAp(); addWindowListener(windap); setSize(new Dimension(100,100)); setVisible(true); } static public void main(String argv[]) { new Closer(); }
Адаптер (выводы) Может использоваться для упрощения программы за счет перекрытия всех методов. Позволяет организовывать взаимодействие несвязных по программному интерфейсу классов.