Vorfahren, Nachkommen und Klassenhierarchien
Nach oben zu Objektorientierte Programmierung für Komponentenentwickler - Index
Anwendungsentwickler setzen voraus, dass jedes Steuerelement über die Eigenschaften Top und Left verfügt. Diese Eigenschaften bestimmen die Position des Elements im Formular. Für den Anwendungsentwickler spielt es keine Rolle, ob alle Steuerelemente diese Eigenschaften von ihrem gemeinsamen Vorfahr TControl erben. Wenn Sie jedoch eine Komponente erzeugen, müssen Sie wissen, von welcher Klasse das Element abgeleitet werden muss, damit es die gewünschten Merkmale erbt. Außerdem müssen Sie genau wissen, was das Steuerelement erbt, damit Sie geerbte Fähigkeiten nicht neu einführen.
Die Klasse, von der Sie eine Komponente ableiten, wird als unmittelbarer Vorfahr bezeichnet. Jede Komponente erbt von ihrem unmittelbaren Vorfahr, der seinerseits von seinem unmittelbaren Vorfahr erbt usw. Alle Klassen, von denen eine Komponente erbt, sind deren Vorfahren und sie selbst ist ein Nachkomme dieser Vorfahren.
Alle Beziehungen zwischen Vorfahren und Nachkommen in einer Anwendung bilden eine Klassenhierarchie. Jede Generation in der Hierarchie enthält mehr Merkmale als ihre Vorfahren, weil sie alle Merkmale von ihren Vorfahren erbt und dazu neue Eigenschaften und Methoden einführt oder vorhandene neu definiert.
Wenn Sie keinen unmittelbaren Vorfahren angeben, leitet Delphi Ihre Komponente vom Standardvorfahren TObject ab. TObject ist der Vorfahr aller Klassen in der Objekthierarchie.
Die Grundregel bei der Auswahl des Objekts, von dem abgeleitet werden soll, ist einfach: wählen Sie das Objekt, das so viel wie möglich von dem enthält, was Sie in Ihr neues Objekt einbinden möchten, und das nichts enthält, was Sie in Ihrem neuen Objekt nicht haben möchten. Sie können Ihrem Objekt immer neue Merkmale hinzufügen. Das Entfernen von Merkmalen ist jedoch nicht möglich.