Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.529 Beiträge
 
Delphi 12 Athens
 
#8

Re: Individuelle Class Var für jede abgeleitete Klasse?

  Alt 31. Mär 2010, 16:53
Zitat von Phoenix:
Als Ergänzung zu Michaels Antwort: ...
Aber wie geht das dann mit den virtuellen Konstruktoren?
Die werden ja oftmals auch von der Klasse aus aufgerufen und nicht über ein Objekt.

Ein Konstruktor ist im weitesten Sinne doch auch "nur" eine Klassenfunktion.


[edit]
getestet
Delphi-Quellcode:
type
  TMyList = class
    class function Test: String; virtual; abstract;
  end;

  TMyListA = class(TMyList)
    class function Test: String; override;
  end;

  TMyListB = class(TMyList)
    class function Test: String; override;
  end;

  TMyListClass = class of TMyList;

class function TMyListA.Test: String;
begin
  Result := 'ich bin TMyListA';
end;

class function TMyListB.Test: String;
begin
  Result := 'ich bin TMyListB';
end;

procedure TForm2.FormCreate(Sender: TObject);
var x: TMyListClass;
begin
  Memo1.Lines.Add(TMyListA.Test);
  Memo1.Lines.Add(TMyListB.Test);
  try
    Memo1.Lines.Add(TMyList.Test);
  except
    on E: Exception do
      Memo1.Lines.Add(E.Message);
  end;
  x := TMyListB;
  Memo1.Lines.Add(x.Test);
end;
Code:
ich bin TMyListA
ich bin TMyListB
Abstrakter Fehler
ich bin TMyListB
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat