Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

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

  Alt 31. Mär 2010, 17: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
$2B or not $2B
  Mit Zitat antworten Zitat