Hallo,
über
http://www.delphipraxis.net/102890-s...variablen.html bin ich auf das hier
http://hallvards.blogspot.de/2004/06...te-fields.html gekommen.
Hier mißfällt mir etwas das
OOP Konzept.
Um die Ursprungsklasse mit neuen Funktionen zu erweitern leite ich sie in einer neuen
Unit ab, damit die Erweiterung möglich ist, bräuchte ich aber Zugriff auf dort als private deklarierte Variablen. Warum hat eine abgeleitete Klasse nicht vollen Zugriff auf die "Oberklasse". Vor allem, weshalb geht es innerhalb der gleichen
Unit und in einer Fremden
Unit nicht (strict private mal außen vor, spielt in der Version keine Rolle).
Den Hack zu nutzen halte ich für fragwürdig, auch wenn er hier in D5/D6 funktioniert, aber laut Blogkommentar funktioniert er nicht mehr in einer neueren Delphi Version (kann das jemand bestätigen) was eigentlich logisch ist, schließlich sollte es ja private sein (warum auch immer).
Ist jetzt kein Problem der Delphi Praxis, aber in dem Tutorial
http://www.delphi-treff.de/object-pascal/vererbung/ steht, dass die Nachfahren alles vom Vorfahren erben, was in dem Beispiel mit TMensch und TBerufstätig etc. ja nur innerhalb der selben
Unit gelten würde nach dem Konzept (probiert habe ich es noch nicht) also ist die Aussage ja insofern falsch, als dass sie ja nach dem Beispiel nur innerhalb der gleichen
Unit funktioniert, was man ja auch mal schreiben könnte.
Gruß relocate
PS.: Im wesentlichen geht es darum, ob mal jemand testen kann, ob der Hack in späteren Delphiversionen noch funktioniert und wenn nicht, was man dann machen kann.