Thema: Delphi Gibt es "ME" ?

Einzelnen Beitrag anzeigen

Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Gibt es "ME" ?

  Alt 24. Feb 2008, 12:53
Self braucht man nur, um Namenskonflikte zu lösen oder wenn man eine Referenz auf Self übergeben will.

Beispiel für ersteres:
(Die Methode Wuppdi soll das Feld "Value" auf den übergebenen Wert setzen)

Delphi-Quellcode:
procedure TMyClass.Wuppdi(Value: Integer);
begin
  Self.Value:=Value;
end;
Ohne das Self.Value würde die Anweisung den Parameter auf sich selbst zuweisen.


Beispiel für letzteres:
Hier soll die Methode CreateChild eine neue Instanz von TMyClass erstellen, deren "Vater" auf sich selbst setzen und die neue Instanz dann zurückgeben.

Delphi-Quellcode:
function TMyClass.CreateChild: TMyClass;
begin
  Result:=TMyClass.Create;
  Result.SetParent(Self);
end;
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat