Ein Beispiel zum Verständniss:
Delphi-Quellcode:
Unit BunteFarben;
Interface
Type
TFarbe =
Class
Protected
{ Protected-Deklaration }
Function GetFarbe: Integer;
Virtual;
Abstract;
Function GetKlasse:
String;
Virtual;
Public
{ Public-Deklaration }
Property Farbe: Integer
Read GetFarbe;
Property Klasse:
String Read GetKlasse;
End;
Type
TFRot =
Class( TFarbe )
Protected
{ Protected-Deklaration }
Function GetFarbe: Integer;
Override;
Function GetKlasse:
String;
Override;
Public
{ Public-Deklaration }
End;
Type
TFRoterFarbkasten =
Class( TFarbe )
Protected
{ Protected-Deklaration }
Function GetFarbe( Farbe: TFarbe ): Integer;
Reintroduce;
Function GetKlasse( Farbe: TFarbe ):
String;
Reintroduce;
Public
{ Public-Deklaration }
Property Farbe[ Farbe: TFarbe ]: Integer
Read GetFarbe;
Property Klasse[ Farbe: TFarbe ]:
String Read GetKlasse;
End;
Implementation
{ TFarbe }
Function TFarbe.GetKlasse:
String;
Begin
Result := '
Basis...';
End;
{ TFRot }
Function TFRot.GetFarbe: Integer;
Begin
Result := $0000ff;
End;
Function TFRot.GetKlasse:
String;
Begin
Result := '
Rote Farbe';
End;
{ TFRoterFarbkasten }
Function TFRoterFarbkasten.GetFarbe( Farbe: TFarbe ): Integer;
Begin
Result := Farbe.Farbe;
End;
Function TFRoterFarbkasten.GetKlasse( Farbe: TFarbe ):
String;
Begin
Result := Farbe.Klasse;
End;
end.
Bye