Registriert seit: 16. Apr 2007
2.325 Beiträge
Turbo Delphi für Win32
|
Re: Siin, Nutzen und Einsatzmöglichkeit von abstrakten Klass
1. Okt 2008, 12:49
Das Beispiel, welches in den meisten Tutorials verwendet wird, handelt von einer Sammlung von Graphikobjekten. TCircle, TRectangle, TImage und so weiter werden von einer Klasse TGraphic abgeleitet und überschreiben deren Paint-Methode. In TGraphic gibt es jedoch keine sinnvolle Implementierung der Paint-Methode, es ist sogar ein Fehler, diese aufzurufen. Daher sollte sie als abstrakt gekennzeichnet werden. In Java geht man sogar noch einen Schritt weiter: Wenn man TGraphic.Paint nicht aufrufen darf, ergibt es keinen Sinn, überhaupt ein Objekt der Klasse TGraphic zu erzeugen. Die Klasse ist daher abstrakt.
Etwas realistischere Beispiele sind Threads oder Aufträge. Letztere werden in Java mit Interfaces (Runable und Callable) implementiert, welche ja letztlich eine konsequente Erweiterung von abstrakten Klassen sind.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
|