Thema: Delphi override und virtual?

Einzelnen Beitrag anzeigen

Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: override und virtual?

  Alt 8. Mai 2006, 12:25
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
Christian
  Mit Zitat antworten Zitat