Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Mehrere Klassen von einer Klasse ableiten

  Alt 27. Apr 2012, 19:54
Sprecht doch mal in ganzen Sätzen mit dem TE

Klassendefinition:
Delphi-Quellcode:
unit DeviceUnit;

interface

type
  TBaseDevice = class
    procedure InitDevice; virtual; abstract;
  end;

  TMainDevice = class( TBaseDevice )
    procedure InitDevice; override;
  end;

  TSubDevice = class( TBaseDevice )
    procedure InitDevice; override;
  end;

implementation

procedure TMainDevice.InitDevice;
begin
  ShowMessage('MainDevice initialisiert');
end;
  
procedure TSubDevice.InitDevice;
begin
  ShowMessage('SubDevice initialisiert');
end;

end.
Benutzung:
Delphi-Quellcode:
uses
  DeviceUnit;

procedure DoSomething( aDevice : TBaseDevice );
begin
  aDevice.InitDevice;
end;

procedure Test1;
var
  MyMainDevice : TMainDevice;
  MySubDevice : TSubDevice;
begin
  MyMainDevice := TMainDevice.Create;
  try
    DoSomething( MyMainDevice ); // -> MsgBox mit 'MainDevice initialisiert'
  finally
    MyMainDevice.Free;
  end;

  MySubDevice := TSubDevice.Create;
  try
    DoSomething( MySubDevice ); // -> MsgBox mit 'SubDevice initialisiert'
  finally
    MySubDevice.Free;
  end;
end;

procedure Test2;
var
  MyDevice : TBaseDevice;
begin
  MyDevice := TMainDevice.Create;
  try
    DoSomething( MyDevice ); // -> MsgBox mit 'MainDevice initialisiert'
  finally
    MyDevice.Free;
  end;

  MyDevice := TSubDevice.Create;
  try
    DoSomething( MyDevice ); // -> MsgBox mit 'SubDevice initialisiert'
  finally
    MyDevice.Free;
  end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat