' simple definition of "properties"
Class simple
Private var1 As String
Public var2 As String
End Class
' extended definition of properties
Class extended
Private prop_var1 As String
Private prop_var2 As String
Private Property Get var1 As String
var1 = prop_var1
End Property
Private Property Set var1 As String
prop_var1 = var1
End Property
Public Property Get var2 As String
var2 = prop_var2
End Property
Public Property Set var2 As String
prop_var2 = var2
End Property
End Class
naja property set und get sind ja nur Bezeichnungen die du für Funktionen die du dir selber schreibst vergeben kannst bzw. vorhanden Funktionen???
Vielleicht überzeugt dich dieser Wikipedia-Artikel.Was Datenkapselung ist, weiß ich ;)
http://de.wikipedia.org/wiki/Datenkapselung_(Programmierung)
... und außerden geht die saubere Programmierung über Eigenschaften.Und, dass es auf diese Art und Weise sauberer ist, zu Programmieren, möchte ich auch nicht abstreiten (und üblicherweise halte ich mich auch daran).
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.
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
Ich frage daher nochmals:Nein.
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.Du must doch nicht fuer jede einzelnen als "Private" deklarierte Variable auch noch gleich die entsprechenden Get und Set Varianten erstellen. Das machst Du doch nur fuer die, auf die du von Aussen zugreifen moechtest.
(finde ich persönlich wesentlich einfacher)