Wir hatten als Ziel der Vererbung genannt, dass man Verhalten
spezialisieren kann, dass man etwas Spezielleres damit machen kann.
Lassen Sie uns anschauen, wie man genau diesen Mechanismus,
nämlich abstrakte Methoden auch aufrufen zu können, dazu nutzen kann.
Wir können es so machen, dass wir eine allgemeine Klasse bilden,
die konkretere Klassen weiter unten hat in einer in abgeleiteten,
in abgeleiteten Klassen.
Dazu gibt es auch direkt ein Prinzip und das
ist das Prinzip der Chaplon-Methode auf Englisch
Template Method
Wir machen genau das, was die Folie 28 gezeigt hat.
Wir springen nochmal zurück. Also wir haben hier mehr oder
weniger eine Schablone und fügen hier etwas Konkretes ein,
in dem Fall hier eine konkrete Methode.
Das heißt, Einschubmethode, Buch Method, diese Einschubmethode,
dass beides kommt zusammen vor. Das gibt uns die Möglichkeit,
also eine sehr mächtige Möglichkeit, dass wir formulieren,
wie das allgemeine Verhalten aussieht und dann konkrete Möglichkeiten in Unterklassen machen.
Das wird ganz häufig gemacht für objektorientierte Frameworks, auf Deutsch Rahmenwerke.
Dort werden diese Chaplon-Methoden und Heinschubmethoden Turnback Method,
Buch Method,
ganz häufig verwendet
Das sollten wir uns in Eclipse noch genauer einschalten.
Ja, und dann sollten wir noch dazu schauen,
wie das Ganze in Unterklassen auch noch gesteuert wird.
Das ist noch ein Spezialfall. Wir können tatsächlich auch sagen,
was unterklassen dürfen und was sie nicht dürfen.
Eigentlich können wir ja in Unterklassen das Verhalten spezifizieren,
aber manchmal kann ich von der Oberklasse aus das zwingend vorschreiben und
das kann ich mittels Schlüsselwert, mit dem Schlüsselwort Pfeile machen.
Wenn ich Feinde mache, kann ich das redefinieren durch Unterklassen,
verbieten. Ich könnte sogar die ganze Klasse Feinde machen,
dann gibt es gar keine Unterklassen.
Also das ist noch ein spezieller Fall davon