Zitat von
BAMatze:
...Ist es nicht eigentlich günstiger die gesamte Verarbeitung mit allen Methoden und Events in der TWinControl-Klasse zu machen?
Kommt drauf an.
Ein gutes Beispiel ist die TFont-Klasse.
Diese Klasse kommt so ziemlich in jedem Control als eingebettete Unterklasse vor.
Der Vorteil ist, dass alle Font-Eigenschaften (Fontname, Grösse, Kursiv, Fett, Unterstrichen) in einer Klasse gebündelt werden
anstatt als eigene Properties innerhalb von TControl zu existieren.
Die Klasse TFont wird einmal programmiert und mehrfach verwendet.
Das Prinzip ist "Zusammengehörende Dinge in eine Klasse".
Eigentlich könnte man TFont ja direkt von TObject ableiten.
Allerdings hat TPersistent ja die virtuelle Methode Assign(); die man braucht um Objekte zu kopieren.
Der Name "TPersistent" ist eigentlich zu hochgestochen. *)
Auf Deutsch würde die Klasse "TKopierbaresObjektMitRuntimeInformation" heisen.
*) ab der Klasse TPersistent erhalten published Properties einen Eintrag in der RTTI.
In de Klasse TObject werden public und published noch gleich behandelt.