Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#12

Re: OOP: Vererbung von Konstruktoren

  Alt 11. Okt 2004, 01:44
Mittlerweile sind die Constructors nicht mehr so wichtig. Habe soeben im eigenen Source mal gesucht. Die tauchen nur bei meinen eigenen Komponenten auf. Ist auch kein Wunder, denn das Create ist fast dasselbe.

ich modifiziere mal Dein Beispiel:

Delphi-Quellcode:
TSecond = class(TBase)
  private
    x,y : integer;
  public
    constructor Create;
  end;

Constructor TBase.Create;
begin
  x := 1;
  y := 1;
  z := 999;
end;

constructor TSecond.Create;
begin
  inherited; // x und y erben die Werte von Vorfahrklasse, die durch inherited
               // aufgerufen wird, sind also jetzt jeweils 1 z ist jetzt 999
// x und y sollen 1 bleiben, z aber 1000 :
  z := 1000; // Entresult : x, y = 1, z = 1000 !!!!
end;
Soll nun der Wert von x und y mit 2 anfangen und z soll unberührt bleiben, so muß bereits in TBase.Create x und y auf 2 gesetzt werden. 8) So ungefähr läuft das.
Gruß
Hansa
  Mit Zitat antworten Zitat