Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
15. Sep 2009
Du solltest dich dringend mit Objekten und deren Verwendung beschäftigen.
b := TClassB(a);
Ist ein harter TypCast, also man tut so, als wenn A vom Typ TClassB wäre
und erstellt damit keine Kopie!
TClassA = class (TObject)
ValueA : String;
function Print : String; virtual;
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
15. Sep 2009
b := a; <--- Warum ist diese Zuweisung nicht möglich
B ist zwar Nachfahre von A, aber da B als Nachfahre unter Umständen neue/zusätzliche Funktionalitäten besitzen kan, ist es nur andersrum möglich
also A := B; geht, da der Typ A alle Funktionen enthält, welche B auch hat.
PS:
B := TClassB.Create;
B.Print > TClassB.Print