Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
16. Jan 2024
Will man den Constructor überschreiben, dann muß bei sowas natürlich spätestens in diesem Basistyp das als VIRTUAL (oder DYNAMIC) deklariert sein, und in den Nachfahren natürlich OVERRIDE.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
15. Jan 2024
Natürlich, weil du hier den Constructor als Funktion/Methode aufrufst, auf einer bestehenden Objekt-Instanz.
Man benutzt zum Erstellen NIEMALS keine Variable, sondern immer den Typ.
ALSO
//Animal2 := Animal1.Create; {NEIN}
Animal2 := TAnimal.Create;
denn sowas will und sollte man, nach Möglichkeit, nicht machen:
Animal2 := TAnimal(TAnimal.NewInstance);