Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#7

AW: Interface erstellen und rückgabe

  Alt 3. Sep 2012, 12:34
Neu ohne Constructor

Delphi-Quellcode:
function CTRL_DriveListCreate(): ISkinDriveList; stdcall;
var
  SkinDriveList : TSkinDriveList;
begin

  SkinDriveList := TSkinDriveList.Create;
  result := SkinDriveList;
end;
Du kannst ruhig auch hier direkt an "result" zuweisen.

Zitat:
Dann stellt sich aber eine andere Frage was ist dann mit destructor wenn vorher kein Constructor aufgerufen wurde.
Und auch hier wird intern von Delphi inherited aufgerufen oder nicht ?
OOP Grundlagen. Es wird immer ein Konstruktor aufgerufen, wenn man ein Create() macht. Wenn man in seiner Ableitung keinen selbst erstellt, wird der der Elternklasse genommen. Quasi ein implizites inherited (wenn technisch auch nicht ganz gleich, aber so kann man sich es mal vorstellen). Der Destruktor gehorcht der selben Mechanik. Da man aber beide immer zwangsweise von irgendwo erbt, ist man nicht zum Neuschreiben gezwungen, und man muss auch nicht zwangsweise paarweise implementieren. (Man kann durchaus nur einen Destruktor haben.) Vererbung macht u.a. genau dies möglich, bzw. ist das ein Fundament der OOP.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat