Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

Re: Frage: Abstrakte Klasse und Implementierung [OOP]

  Alt 8. Aug 2005, 12:19
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.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat