virtual heisst das man die Methode in Abkoemmlingen ueberschreiben will.
abstract heisst das man die Methode in dieser Basisklasse nicht implementieren will.
Konsequenz ist das eine Instanz dieses Basisobjekts nicht funktionieren kann. Die Basisklasse ist nur eine Schablone fuer abgeleitete Klassen.
Die Properties sollten unter protected eingeordnet werden. Man kann sie ja in den abgeleiteten Klassen in public oder published redeklarieren.
Das Beispiel ist ja schon gebracht worden.
Der Grund fuer die Deklaration unter protected ist, das man nur in public oder published redeklarieren kann. In weiteren Ableitungen der Klasse kann man nicht mehr zurueck. Deshalb hat Delphi in der
VCL fast immer eine TCustom* Klasse und die eigentliche T* Klasse redeklariert nur noch die Properties. Damit kann man eigene Ableitungen der TCustom* Klasse implementieren und dabei einige Properties nicht sichtbar machen.