Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
28. Okt 2013
Man braucht für die Initialisierung kein weiteres Interface und muss diese Funktionalität auch nicht nach außen veröffentlichen. Danach packt man das Objekt in eine Interfacevariable und aktiviert damit die Referenzzählung.
Dieses Interface kann dann auf die zur Initialisierung notwendigen Routinen nicht zugreifen und es gibt auch kein anderes Interface, auf das man dafür casten könnte.
...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
26. Okt 2013
Außer zur Initialisierung in einer lokalen Variable, da finde ich das in Ordnung. Aber sobald das Objekt das erste Mal in einer Interfacereferenz gelandet ist, darf man die Objektvariable natürlich nicht mehr nutzen.
Deshalb ist es auch besser entweder Interfaces oder Objekte zu nutzen und das durch die gesamte Vererbung durch.
Oder man deaktiviert die Referenzzählung.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
26. Okt 2013
INeustartbar = interface
procedure restart();
end;
ISchreibenLesen = interface
procedure writeStuff();
procedure readStuff();
end;