Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Property-Name auch in Klassen-eigener Methode nutzen? (https://www.delphipraxis.net/20116-property-name-auch-klassen-eigener-methode-nutzen.html)

Nonsense 13. Apr 2004 21:26


Property-Name auch in Klassen-eigener Methode nutzen?
 
Hallo,

ich wollte nur kurz wissen, ob ich innerhalb einer (Klassen-eigenen) Methode über den Property-Namen oder über den Original-Namen auf eine Variable zugreifen sollte.
Beispiel:
Delphi-Quellcode:
type
  TBeispiel = class(TObject)
  private
    FBitmap: TBitmap;
  public
    procedure DrawBitmap;
    property MeinBitmap: TBitmap read FBitmap;
  end;
Wenn ich jetzt mit DrawBitmap auf FBitmap zugreifen möchte, nutze ich dann als Name FBitmap oder MeinBitmap?

Giantics 13. Apr 2004 21:34

Re: Property-Name auch in Klassen-eigener Methode nutzen?
 
Ich habe immer den OriginalNamen verwendet, weil ich dachte, es wäre schneller und müsste nichtnoch "umgewandelt" werden. War aber wohl ein Irrtum. Anscheinend setzt der Compiler das entsprechend um und es macht keinen Unterschied.
Also machs so wie du's schöner findest 8)

Nonsense 13. Apr 2004 21:39

Re: Property-Name auch in Klassen-eigener Methode nutzen?
 
Mhh, ich dachte mir, dass man den Property-Name mal schnell ändert, wobei dass beim Original nicht der Fall ist. Irgendwie Blödsinn, aber wenn's egal ist, werde ich den Original-Namen nehmen.

Christian Seehase 13. Apr 2004 22:02

Re: Property-Name auch in Klassen-eigener Methode nutzen?
 
Moin Nonsense,

für den Fall, dass read bzw. write für die Eigenschaft direkt das private Feld verwenden, spielt es wohl keine Rolle, solltest Du aber hierfür, aus welchen Gründen auch immer, Get- bzw. Setmethoden verwenden, musst Du Dir genau überlegen, ob Du innerhalb Deiner Klasse die Eigenschaft oder das Feld (unter Umgehung der Methoden) direkt verwendest. Kann, je nach Situation beides Sinn machen.

negaH 14. Apr 2004 01:16

Re: Property-Name auch in Klassen-eigener Methode nutzen?
 
Zitat:

Mhh, ich dachte mir, dass man den Property-Name mal schnell ändert, wobei dass beim Original nicht der Fall ist. Irgendwie Blödsinn, aber wenn's egal ist, werde ich den Original-Namen nehmen.
Umgekehrt wird ein Schuh draus. Man ändern NICHT den namen der Property sondern deren Implementation zum internen Feld und dessen Namen. Somit bleibt der komlette Code der auf die Property zugreift kompatibel zu den neuen Änderungen.

Man sollte also immer, auch im Object selber auf die Property zugreifen. Im späteren Verlauf der Wartung des Codes kann man dann nämlich die internen Felder ändern, den Properties Getter-/Setter-Methoden verpassen oder sogar die Property per Schutzcode ungültig machen.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz