Gewusst wie: Hinzufügen von Feldern und Eigenschaften zu einer Klasse
Aktualisiert: November 2007
Sie können sowohl Felder als auch Eigenschaften verwenden, um Informationen in einem Objekt zu speichern. Obwohl Felder und Eigenschaften aus Sicht der Clientanwendung kaum zu unterscheiden sind, werden sie innerhalb einer Klasse unterschiedlich deklariert. Felder sind lediglich öffentliche, von einer Klasse verfügbar gemachte Variablen, während Eigenschaften Property-Prozeduren zur Steuerung der Festlegung bzw. Rückgabe von Werten verwenden.
So fügen Sie ein Feld zu einer Klasse hinzu
Deklarieren Sie eine öffentliche Variable in der Klassendefinition, z. B.:
Class ThisClass Public ThisField As String End Class
So fügen Sie eine Eigenschaft zu einer Klasse hinzu
Deklarieren Sie zur Speicherung des Eigenschaftenwerts eine lokale Variable innerhalb der Klasse. Dieser Schritt ist notwendig, da Eigenschaften selbst keinen Speicherplatz zuweisen. Um die Werte vor direkten Änderungen zu schützen, sollten Variablen für die Speicherung von Eigenschaftenwerten als Private deklariert werden.
Stellen Sie gegebenenfalls Eigenschaftendeklarationen mit Modifizierern (Public und Shared) voran. Verwenden Sie das Property-Schlüsselwort zum Deklarieren des Eigenschaftennamens, und deklarieren Sie den Datentyp, den die Eigenschaft speichert und zurückgibt.
Definieren Sie die Eigenschaftenprozeduren Get und Set innerhalb der Eigenschaftendefinition. Mit Get-Eigenschaftenprozeduren wird der Wert einer Eigenschaft zurückgegeben. Die Syntax von Eigenschaftenprozeduren entspricht weitgehend der von Funktionen. Sie akzeptieren keine Argumente und können zum Zurückgeben des Werts von privaten lokalen Variablen verwendet werden, die innerhalb der Klasse definiert sind, mit welcher der Eigenschaftenwert gespeichert wird. Mit Set-Eigenschaftenprozeduren wird der Wert einer Eigenschaft festgelegt. Sie besitzen einen Parameter, in der Regel mit der Bezeichnung Value, der den gleichen Datentyp aufweist wie die Eigenschaft selbst. Sobald der Wert der Eigenschaft geändert wird, wird Value an die Set-Eigenschaftenprozedur weitergegeben, die es überprüfen und in einer lokalen Variablen speichern kann.
Beenden Sie die Eigenschaftenprozeduren Get und Set mit den Anweisungen End Get bzw. End Set.
Beenden Sie den Eigenschaftenblock mit einer End Property-Anweisung.
Hinweis: Wenn Sie in der integrierten Entwicklungsumgebung (IDE) von Visual Studio arbeiten, können Sie festlegen, dass leere Get-Eigenschaftenprozeduren und Set-Eigenschaftenprozeduren erstellt werden. Geben Sie Property Eigenschaftenname As Datentyp ein (wobei Eigenschaftenname der Name der Eigenschaft und Datentyp ein bestimmter Datentyp ist, z. B. Integer). Die Eigenschaftenprozeduren werden im Code-Editor angezeigt.
Im folgenden Beispiel wird eine Eigenschaft in einer Klasse deklariert:
Class ThisClass Private m_PropVal As String Public Property One() As String Get ' Return the value stored in the local variable. Return m_PropVal End Get Set(ByVal Value As String) ' Store the value in a local variable. m_PropVal = Value End Set End Property End Class
Wenn Sie eine Instanz von ThisClass erstellen und den Wert der Eigenschaft auf One festlegen, wird die Set-Eigenschaftenprozedur aufgerufen und der Wert an den Value-Parameter übergeben, der in einer lokalen Variablen mit der Bezeichnung m_PropVal gespeichert wird. Bei Abruf des Werts dieser Eigenschaft wird die Get-Eigenschaftenprozedur wie eine Funktion aufgerufen und gibt den in der lokalen Variablen m_PropVal. gespeicherten Wert zurück.
Siehe auch
Aufgaben
Gewusst wie: Hinzufügen von Ereignissen zu einer Klasse
Konzepte
Eigenschaften und Property-Prozeduren