In Schlulungen habe ich als Beispiel für abstrakte Klasse gerne das Objekt TThread genommen.
Delphi-Quellcode:
{ *************************************************************************** }
{ }
{ Delphi and Kylix Cross-Platform Visual Component Library }
{ }
{ Copyright (c) 1995, 2001 Borland Software Corporation }
{ }
{ *************************************************************************** }
unit Classes;
...
type
TThread =
class
...
protected
...
procedure Execute;
virtual;
abstract;
...
end;
In dem Object TThread ist alles definiert, bis auf die Methode Execute.
Beim Ableiten des Threads musst Du eigentlich nur die Methode Execute überschreiben und fertig. Da in Execute ja das drin steht, was derThread für Dich machen soll, macht es natürlich wenig Sinn dies schon im der Basis Klasse zu definieren.
Beisp. aus C:\Programme\Borland\Delphi7\Demos\Threads\ThrdDem o.dpr:
Delphi-Quellcode:
unit SortThds;
...
type
TSortThread =
class(TThread)
...
procedure Execute;
override;
...
end;
...
procedure TSortThread.Execute;
begin
Sort(Slice(FSortArray^, FSize));
end;
...
Das ist mein Lieblings-Beispiel.
Es zeigt abstrakte Methoden, Threads, Sortieralgos, ...
und das ganz einfach, und doch eindrucksvoll
Viel Spaß beim Anschauen und Ausprobieren der Demo App.