Forum: Algorithmen, Datenstrukturen und Klassendesign
by DeddyH,
27. Apr 2012
Du kannst den Typ schon zur Laufzeit ermitteln (if Dings is TBums), aber wozu? Dadurch, dass Du die Basisklasse als Datentyp übergibst (und dann ein Objekt einer davon abgeleiteten), kannst Du Dir sicher sein, dass das Objekt die richtige Methode ausführt. Zumindest, solange diese Methode überschrieben (override) wurde und nicht verdeckt. Möglicherweise verstehe ich Dich aber auch falsch.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DeddyH,
27. Apr 2012
Das klingt für mich, als bräuchtest Du eine (abstrakte) Basisklasse, von der die anderen dann abgeleitet werden.
type
TBaseClass = class
protected
procedure DoSomethingImportant; virtual; abstract;
procedure DoSomethingMoreImportant; virtual; abstract;
procedure DoSomethingEvenMoreImportant; virtual; abstract;
end;
TFirstChild = class(TBaseClass)