Zitat von
BillieJoe90:
Die Eigenschaft Preis ist ihm nicht bekannt, Name aber wohl.
Ich kann mir das nicht erklären, weil man solche Probleme als PHP-Programmierer nicht kennt
Die Eigenschaft ist doch unter public deklariert und selbst die geerbten Eigenschaften kennt er ja.
Hi,
eigentlich sollte das Problem hier in jeder Objekt Orientierten Sprache auftauchen. Dein FeldNr2 ist vom Typ ein TFeld, es sind für diese Variable also alle Eigenschaften von TFeld vorhanden (dass sagst du dem Compiler). Erzeugen tust du ein TGrundstueck. Der Compiler schaut nun, ob ein TGrundstueck mind. alle Eigenschaften eines TFeld hat. Erzeugst du direkt eine Instanz der Klasse, von deren Typ die Variable ist (also TFeld.Create) oder von einer Klasse die von ihr erbt, so wird der Compiler nicht meckern (analog bei einem Interface IFeld und allen Klassen die es implementieren oder von einer Klasse erben die es implementiert).
Das du in FeldNr2 ein spezielles TFeld speicherst ist Delphi egal. Du sagst schließlich, dass du nur die Eigenschaften eines TFeld verwenden möchtest. Genau hier liegt auch der Sinn der
OOP. Du brauchst halt kein Detailwissen über alle möglichen Implementierungen. Du solltest dir also mal ein wenig zum Theme
OOP anschauen, dann verstehst du schnell wann du welchen Variablentyp verwendest!
Gruß Der Unwissende