AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

virtual / override ??

Ein Thema von Hansa · begonnen am 19. Aug 2004 · letzter Beitrag vom 21. Aug 2004
 
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#7

Re: virtual / override ??

  Alt 19. Aug 2004, 01:37
NicoDe's Version in Ausführlich:

Abstrakt bedeutet dem Compiler, dass dies nur ein "Platzhalter" für eine Methode ist, die in einem Nachfahre des aktuellen Objektes (mit "override") implementiert wird und er nicht schon in diesem Objekt nach einer Implementation zu suchen braucht.

Implementiert ein Nachfahre diese Methode dann doch nicht, gibt der Compiler eine Warnung: "Achtung: Objekt BlaFasel wird mit abstrakten Methoden instantiiert" aus um so anzuzeigen, dass wir da wohl was vergessen haben.

Prinzip-Beispiel:
Delphi-Quellcode:
TAnzeige = class TWinControl
public
  procedure Beschriften(Value:String); virtual; abstract;
end;

TLabelAnzeige = class(TAnzeige)
private
  FLabel : TLabel
public
  constructor Create(AOwner:TControl); override;
  destructor Destroy; override;
  procedure Beschriften(Value:String); override;
end;

TEditAnzeige = class(TAnzeige)
private
  FEdit : TEdit
public
  constructor Create(AOwner:TControl); override;
  destructor Destroy; override;
  procedure Beschriften(Value:String); override;
end;

implementation

constructor TLabelAnzeige.Create(AOwner:TComponent);
begin
  inherited;
  FLabel := TLabel.Create(self);
end;

procedure TLabelAnzeige.Beschriften(Value:String);
begin
  FLabel.Caption := Value;
end;

destructor TLabelAnzeige.Destroy(Value:String);
begin
  FLabel.Free;
  inherited;
end;

constructor TEditAnzeige.Create(AOwner:TComponent);
begin
  inherited Create(AOwner);
  FEdit := TEdit.Create(self);
end;

procedure TEditAnzeige.Beschriften(Value:String);
begin
  FEdit.Text := Value;
end;

destructor TEditAnzeige.Destroy(Value:String);
begin
  FEdit.Free;
  inherited;
end;
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz