11.11.2013 Aufrufe

TMain - Goethe Gymnasium Dortmund

TMain - Goethe Gymnasium Dortmund

TMain - Goethe Gymnasium Dortmund

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

function TLKW.SitzplatzAnzahl: INTEGER;<br />

BEGIN<br />

RESULT := 3<br />

END;<br />

procedure <strong>TMain</strong>.BtStartClick(Sender: TObject);<br />

begin<br />

A := TAuto.Create;<br />

B := TLKW.Create;<br />

A.InformationsBereitstellung;<br />

B.InformationsBereitstellung<br />

end;<br />

end.<br />

Beachte: Die Methode Informationsbereitstellung ist in der Unterklasse TLKW<br />

identisch mit der gleichnamigen Methode Informationsbereitstellung in der<br />

Oberklasse TAuto.<br />

Wenn allerdings innerhalb der Methode Informationsbeschaffung die<br />

Hilfsmethode Sitzplatzanzahl aufgerufen wird, dann wird erst geprüft, welches<br />

Objekt gerade vorliegt. In Abhängigkeit vom Ergebnis dieser Prüfung wird<br />

entschieden, ob die Hilfsmethode Sitzplatzanzahl aus der Ober- oder aus der<br />

Unterklasse verwendet wird.<br />

Der Delphi-Quelltext wird also so compiliert, dass erst zur Laufzeit des<br />

Programms die richtige Methodenauswahl getroffen wird. Diese Programmoder<br />

Compilereigenschaft nennt man dynamische oder späte Bindung.<br />

Aus der Sicht des Programmbenutzers zeigen die verschiedenen Objekte ein<br />

polymorphes (=vielgestaltiges) Verhalten: Objekte verschiedener Klassen<br />

reagieren unterschiedlich auf identische Befehle (Informationsbereitstellung).<br />

Man bezeichnet dies als Polymorphie.<br />

Aufgabe: Lösche im obigen Programm das Wort override oder (zweite<br />

Aufgabe) ersetze es durch virtual! Erkläre jeweils das Resultat!<br />

Hinweis: In den VMTs der Ober- und Unterklasse haben vererbte Methoden<br />

dieselben Nummern, egal ob sie überschrieben werden oder nicht.<br />

47

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!