Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#9

AW: Eine Frage an die Cracks: erben

  Alt 16. Nov 2012, 09:43
Machen wir ein simples Experiment

Delphi-Quellcode:
type
  TMyBitmap = class(TBitmap)
  end;

procedure TForm1.Button2Click(Sender: TObject);
var
  MyBitmap: TMyBitmap;
begin
  MyBitmap:= TMyBitmap.Create;
  MyBitmap.LoadFromFile('c:\abc.bmp');
end;
Führe ich das Schritt für Schritt aus, dann lande ich nicht in meiner geerbten Methode von TMyBitmap, die physikalisch nicht da ist, sondern von TBitmap. Die Frage ist nur was da abläuft. Entweder dem Debuger fällt die Alternative, also greift er zum zeigen auf die Methode von TBitmap, oder was wohl wahrscheinlich ist, TMyBitmap erbt nicht die Methode, sondern nur ihre Adresse drau. Die Klasse hat nichts geerbt, sondern nur die Adresse des Vorgängers und gibt den Auftrag an den Vorgänger weiter. Oder kann man das so deuten: die Klasse hat schon alles geerbt, aber nur theoretisch. Aber wozu die Methode zwei mal im Speicher haben wen die vom Vorgänger identisch ist.

Natürlich sehe ich was ich sehe, mich interessiert eher die Philosophie dahinter.
  Mit Zitat antworten Zitat