Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Pointer beim Komponentenprogrammieren

  Alt 6. Dez 2004, 13:11
Zitat von teebee:
Zitat von dizzy:
Sauber wäre es dann, wenn du innerhalb der Implementierung der Klasse ihre private-Variable "FGrid" ansprichst
Ganz sauber wird es erst, wenn das private Feld nur in den Get/Set-Methoden der Property angesprochen wird und an allen anderen Stellen in der Klasse über die Property gegangen wird.

Gruß, teebee
Das fordert meines Wissens nach die OOP nicht so strikt. Es ist imho nur so geregelt dass man von ausserhalb einer Klasse keinen direkten Zugriff auf die Felder haben soll. Wie man in der Klasse selbst zugreift ist frei, und direkt auch noch einiges performanter als mit Umweg über Getter/Setter (die in Delphi dank der Properties ja nichtmal zwingend sind).
Zumal mit deiner Variante die Getter/Setter ihrer Existenzberechtigung enthoben würden (wenn es nur um einfache Wertzuweisung geht!). Dann kann ich genau so gut ein public-Feld nehmen .

[ot] Ich frage mich ohnehin warum das Geheimnisprinzip bei der OOP so überaus wichtig sein soll. Wenn es um Felder geht denen einfach zugewiesen wird, und die auch weiter vererbt werden sollen, warum dann nicht public? Ich mach's zwar auch nicht, aber warum ist das so? Nur damit die armen C'ler und Javaisten (C# mal ausgenommen) die von Properties nur träumen können immer schön einheitlich "SetXXX()" schreiben können, und nicht mal "SetVar(Wert)" und mal "Var = Wert"?
Irgendwie doof
[/ot]

Der Propertyzugriff ist imho ohnehin eines der tollsten Features der DL!
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat