Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: Mehrere Klassen von einer Klasse ableiten

  Alt 27. Apr 2012, 17:28
Zitat:
Ich habe mehrere unterschiedliche Klassen die aber alle diegleichen Funktionen (im Interface) haben.
Die Klassen führen die Funktionen aber unterschiedlich aus.
Das klingt für mich, als bräuchtest Du eine (abstrakte) Basisklasse, von der die anderen dann abgeleitet werden.
Delphi-Quellcode:
type
  TBaseClass = class
  protected
    procedure DoSomethingImportant; virtual; abstract;
    procedure DoSomethingMoreImportant; virtual; abstract;
    procedure DoSomethingEvenMoreImportant; virtual; abstract;
  end;

  TFirstChild = class(TBaseClass)
  protected
    procedure DoSomethingImportant; override;
    procedure DoSomethingMoreImportant; override;
    procedure DoSomethingEvenMoreImportant; override;
  end;

  TSecondChild = class(TBaseClass)
  protected
    procedure DoSomethingImportant; override;
    procedure DoSomethingMoreImportant; override;
    procedure DoSomethingEvenMoreImportant; override;
  end;

procedure TMain.DoSomething(AObject: TBaseClass);
begin
  AObject.DoSomethingImportant;
end;
Je nachdem, von welchem Typ nun das übergebene Objekt ist, führt es dann die in der Ableitung implementierte Methode aus.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat