Zitat von
Hansa:
Wie geht das aber trotzdem, falls es so nicht geht ?
Je nach weiterem Kontext gibt es natürlich dutzende Möglichkeiten, also hier mal zwei Vorschläge
. Wenn obj1 und obj2 bleiben (und sich a und b natürlich teilen) sollen, könntest du obj1 im Form2-Konstruktor einfach ersetzen:
Delphi-Quellcode:
obj2 := TObject2.Create(obj1); // Konstruktor übernimmt alle Felder des Arguments
obj1.Free;
obj1 := obj2;
Wenn man die Vererbung weglässt und stattdessen in Richtung Decorator geht, kann obj1 auch beibelassen werden:
Delphi-Quellcode:
type TObject2 = class
inner: TObject1;
c: Integer;
end;
[...]
TForm2: obj2 := TObject2.Create(obj1);
// => obj1 <> obj2
@Jelly: It's Magic
?