' schrieb:LVOOP Experte
Nee.
Aber ich kann dir sagen, wie's in textorientiert ist. Warum sollte es in LVOOP vom Verfahren her anders sein?
Zitat:Durch die Ableitung kann ich doch auf die Methoden des Parents zugreifen?
Genau das ist ja Sinn und Zweck der Sache.
Die abgeleitete Klasse kann immer auf die Daten der Elternklasse zugreifen. Sofern die Elternklasse ihre Daten freigegeben hat! Was also innerhalb der Elternklasse als public (Felder oder Methoden) definiert ist, sieht die abgeleitete Klasse. Was die Elternklasse nicht freigibt (private), können auch die abgeleiteten Klassen nicht sehen. Die Kapselung als solche bleibt also erhalten.
Sinn der Ableitung ist es ja gerade, eine Klasse zu haben, die festgelegte Felder und Methoden zur Verfügung stellt.
Jemand, der eine Instanz einer Klasse betrachtet, weiß nicht, ob eine Methode (oder ein Feld) in der Klasse dieser Instanz definiert ist oder ob die Methode in der Elternklasse der Klasse der Instanz definiert ist.
Zitat:Oder muss ich gar keine Ableitung machen?
Ohne Ableitung kein direkter Zugriff. Nur indirekt über eine Instanz.
Man kann auch eine neue Klasse anlegen und in der dann ein Objekt der "Elternklasse" anlegen.
Beispiel:
1. Die Elternklasse TClass1 habe eine public Methode ADD.
2. Abgeleitete Klasse TClass2 sein von TClass1 abgeleitet. Dann heißt der Zugriff auf ADD ganz einfach "Class2.ADD"
3. Eigene Klasse TClass3. Diese Klasse muss ein Feld Class1 enthalten vom Typ TClass1. Der Zugriff auf ADD heißt dann "Class3.Class1.ADD"
Ob dein Bild mehr der Variante 3 entspricht oder der Variante 2, weiß ich nicht.