Domino 9 und frühere Versionen > ND8: Entwicklung
Wofür Property Set/Get?
ZaLudtske:
Saubere Programmierung = Wartbarkeit = Qualität
meine persönliche Meinung
Rainer
joringel:
Noch ein hoffentlich hilfreicher link:
http://de.wikipedia.org/wiki/Zugriffsfunktion
Habe so mein Problem mit dem Begriff 'Sauber programmieren' und den dazu gehörigen Gurus. Bedeutet das, dass wir zuvor alle nur Mist produziert haben, wenn irgendein neues Paradigma auftaucht?
Die Sache ist nicht unumstritten, wer Zeit hat, lese unter den folgenden links nach:
http://www.google.de/search?hl=de&q=getter+setter+warum&btnG=Google-Suche&meta=&aq=f&oq=
Gruß
Peter
thomson666:
ich bin zu faul um richtig zu antworten auf ascabg, nur so viel...
wie gesagt erklären ist nicht meins. ich weiss für was ich die set und get Properties brauchen kann...
Tommy
Axel:
Hier ein Auszug aus der Designer-Hilfe:
--- Zitat ---Properties
A property is a language element whose main purpose is to allow the indirect manipulation of variables that you don’t want to expose to the application as a whole. This is especially useful in object-oriented programming. To the application, a property looks like a variable to which you can assign and from which you can retrieve a value, but it is actually more than that.
You create a property by defining two procedures: Property Set assigns the value of the property to a variable you want to manipulate, and Property Get assigns the current value of that variable to the property. You execute the Property Set procedure by assigning the property a value, and you execute the Property Get procedure by including the property in a statement that uses its value. The application operates on the property (which operates on the variable) rather than on the variable itself. Because Property Set and Property Get are procedures, you can make them perform operations in addition to assigning and retrieving values.
--- Ende Zitat ---
Am interessantesten sind meines Erachtens die letzten beiden Sätze.
--- Zitat von: thomson666 am 05.08.09 - 09:15:54 ---naja property set und get sind ja nur Bezeichnungen die du für Funktionen die du dir selber schreibst vergeben kannst bzw. vorhanden Funktionen.
zum Beispiel:
wenn du abfragst ob eine Datenbank IsOpen ist, könntest du dir eine Funktion machen
setDBOpen die die Datenbank Öffnet und dann True retour gibt.
Meinst du sowas!?
Bzw. kannst du dir auch zum Beispiel eine Funktion machen die dir bestimmte Benutzer als Array retour liefert.
zum Beispiel getAllUserfromOrganisation
Function getallUserfromOrganisation as variant
Hier würdest du einfach einen Code programmieren der alle ausliest und dann mit
getAllUserfromOrganisation = Arrayresult
End Function
Der Aufruf im Code würde dann so aussehen...
alleBenutzer = getallUserfromOrganisation
somit hättest du ein Result einer Funktion in einer Sub...
Ich hoff das ist irgendwie verständlich, im erklären bin ich nicht der Meister...
Tommy
--- Ende Zitat ---
Ich bin im erklären auch nicht gerade der Weltmeister, aber das was du da schreibst, hat mit der Ausgangsfrage nach Property Set/Get überhaupt nichts zu tun. Was du meinst ist lediglich eine sprechendere Bezeichnung von eigengestrickten Funktionen.
Axel
Mok:
Danke für die bisherigen Beiträge.
Überzeugt davon, Property Set/Get bei einer Anzahl von 50 oder mehr Eigenschaften in einer Klasse zu benutzen, bin ich jedoch noch nicht. Ich sehe leider immer noch keinen Sinn darin so viele Zeilen Code zu schreiben, die dann natürlich auch dokumentiert werden müssen, wenn es auch wesentlich einfacher geht.
Ich frage daher nochmals:
Entstehen mir funktionelle Nachteile, wenn ich ohne Property Get/Set arbeite?
Wenn ich auf eine Private-Eigenschaft von außen zugreifen möchte, kann ich mir doch genauso gut eine Public-Funktion schreiben, die mir diese liefert. Das mache ich aber auch nur dann wenn ich die Eigenschaft wirklich nach außen hin brauche und schreibe nicht jede einzelne Variable mit 6 Zeilen Set und Get nieder.
(finde ich persönlich wesentlich einfacher)
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln