Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Self selber verändern ... erlaubt? (https://www.delphipraxis.net/133415-self-selber-veraendern-erlaubt.html)

blablab 2. Mai 2009 15:28

Re: Self selber verändern ... erlaubt?
 
Wer will schon ein schönes Delphi-Programm in Java umsetzen :-P

himitsu 2. Mai 2009 15:41

Re: Self selber verändern ... erlaubt?
 
Zum Glück arbeite ich ja nicht mit Java :stupid:

@igel457: dann hätt ich aber fast doppelt soviele Funktionen, wie jetzt schon.

Delphi-Quellcode:
Function TMyObject.MachWas(Param: String): Irgendwas;
  Begin
    If Param <> '' Then Self := SucheAnderes(Param);
    Result := MachWasMitDemObjektUndGibErgebnis;
  End;
Delphi-Quellcode:
Function TMyObject.MachWas(Param: String): Irgendwas;
  Var Temp: TMyObject;

  Begin
    If Param = '' Then Begin
      Result := MachWasMitDemObjektUndGibErgebnis;
    End Else Begin
      Temp := SucheAnderes(Param);
      Result := Temp.MachWas('');
    End;
  End;
also auf "meine" Weise hab ich erstmal etwas Code gesparrt und vorallem muß die Funktion dann nicht nochmals aufgerufen werden :angel2:

[add]
genau :nerd:

mjustin 2. Mai 2009 15:47

Re: Self selber verändern ... erlaubt?
 
Zitat:

Zitat von blablab
Wer will schon ein schönes Delphi-Programm in Java umsetzen :-P

Das wäre ja wie Eulen nach Athen zu tragen :spin:

alzaimar 2. Mai 2009 20:40

Re: Self selber verändern ... erlaubt?
 
Zitat:

Zitat von mschaefer
OOP ist das schon

Zwei Menschen, drei Meinungen :stupid:

Ich finde nicht, das es OOP ist, weil das Objekt mit dieser Methodik nicht als Entität exisitiert. Die Methode wird also nicht aus der Sicht des Objektes ausgeführt. Verändert man 'Self' in einer Methode, behandelt man 'Self' auf einmal wie eine anonyme Objektreferenz (wie die üblichen 'p' und 'q' Pointer aus prozeduralen Zeiten)

Allerdings muss man wirklich sagen, das himitsu mich mal wieder (bzw. einmal mehr) dazu bringt, über den Tellerrand zu schauen. Ich kann mir allerdings derzeit kein Szenario vorstellen, bei dem eine Alternative zur 'Self-Ersetzung' nicht in verständlicheren Code münden würde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr.
Seite 2 von 2     12   

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