Das "Adapter Pattern" kommt zur Anwendung, wenn die Schnittstelle einer Klasse in die Schnittstelle einer anderen Klasse überführt werden soll.
WindowListener
Klasse in Java hat eine
Adapterklasse WindowAdapter
, welche die Schnittstelle
der WindowListener
Klasse implementiert.
Von WindowAdapter
abgeleitete Klassen brauchen
nur noch die Methoden zu implementieren, die für sie interessant
sind.Grundsätzlich stehen zwei Formen der Implementierung zur Verfügung:
Die nachfolgende Grafik zeigt ein Klassendiagramm eines klassenbasierten Adapters:
Beim klassenbasierten Adapter erweitert der Adapter sowohl die Zielklasse als auch die zu adaptierende Klasse. Beim Aufruf von Methoden der Zielklasse, ruft der Adapter die ensprechende Methode der zu adaptierenden Vaterklasse auf.
Da in Java eine Mehrfachvererbung nicht möglich ist, kann mit Java kein klassenbasierter Adapter realisiert werden.
Nachfolgend ein Klassendiagramm für einen objektbasierten Adapter:
Ein objektbasierter Adapter unterscheidet sich vom klassenbasierten dadurch, dass der Adapter nur noch von der Zielklasse abgeleitet wird. Die zu adaptierende Klasse wird vom Adapter direkt verwendet.
de.wikipedia.org
Adapter
http://de.wikipedia.org/wiki/Adapter_%28Entwurfsmuster%29
Stephan Huth
http://wwwswt.informatik.uni-rostock.de
Adapter (klassenbasiert)
http://wwwswt.informatik.uni-rostock.de/deutsch/Infothek/Entwurfsmuster/patterns/AdapterClass/index.html
http://wwwswt.informatik.uni-rostock.de
Adapter (objektbasiert)
http://wwwswt.informatik.uni-rostock.de/deutsch/Infothek/Entwurfsmuster/patterns/AdapterObject/index.html