Im Beispiel wurde davon ausgegangen, daß man eine Klasse besitzt, die in der
Lage ist, eine Linie zu zeichnen. Nun möchte man eine Klasse erstellen, die
ein Rechteck mahlen soll. Es soll dabei die Methode der Linien-Klasse
verwendet werden. Die Implementation unterscheidet sich zwischen Eiffel und
Java, da Java keine Mehrfachvererbung unterstützt, muß dort über Interfaces
gegangen werden. Weiterhin gibt es in Java die Möglichkeit Applets zu erstellen,
und auf deren paint-Routine zuzugreifen. so ergibt sich folgende Implementation
für Java:
Methode drawLine in DrawLine : |
drawLine(int x1, int y1, int x2, int y2) |
Methode drawRectangle in DrawRectangle : |
drawRectangle(int x1, int y1, int h, int
w) |
|
Abb. 2: Der klassenbasierte Adapter für die Java-Implementation
|
Beispiel in Java als Applet:
Das obere Rechteck wurde von unserem Adapter mit Hilfe der Methode
drawLine(int x1, int y1, int x2, int y2)im LineDrawer gezeichnet.
Die Line darunter einfach die Anwendung der drawLine-Methode.
|