Unterschiede zwischen Eigenschaften und Variablen in Visual Basic
Variablen und Eigenschaften stellen jeweils Werte dar, auf die Sie zugreifen können. Es gibt jedoch Unterschiede in Bezug auf Speicherung und Implementierung.
Variablen
Eine Variable entspricht direkt einer Speicheradresse. Für die Definition einer Variablen reicht eine Deklarationsanweisung. Eine Variable kann eine lokale Variable sein, die innerhalb einer Prozedur definiert ist und nur in dieser Prozedur verfügbar ist. Es kann sich aber auch um eine Membervariable handeln, die in einem Modul, einer Klasse oder einer Struktur definiert ist, jedoch nicht innerhalb einer Prozedur. Eine Membervariable wird auch als Feld bezeichnet.
Eigenschaften
Eine Eigenschaft ist ein Datenelement, das in einem Modul, einer Klasse oder einer Struktur definiert ist. Sie definieren eine Eigenschaft mit einem Codeblock, der zwischen den Anweisungen Property und End Property steht. Der Codeblock enthält eine Get-Prozedur, eine Set-Prozedur oder beides. Diese Prozeduren werden als Eigenschaftenprozeduren oder Eigenschaftenaccessoren bezeichnet. Prozeduren können nicht nur den Wert der Eigenschaft abrufen oder speichern, sondern auch benutzerdefinierte Aktionen ausführen, etwa einen Zugriffszähler aktualisieren.
Unterschiede
In der folgenden Tabelle werden einige wichtige Unterschiede zwischen Variablen und Eigenschaften dargestellt.
Unterscheidungsmerkmal |
Variable |
Eigenschaft |
---|---|---|
Deklaration |
Einzelne Deklarationsanweisung |
Reihe von Anweisungen in einem Codeblock |
Implementierung |
Einzelner Speicherort |
Ausführbarer Code (Eigenschaftenprozeduren) |
Speicherung |
Direkt dem Wert der Variablen zugeordnet |
I. d. R. interne Speicherung, nicht verfügbar außerhalb der enthaltenden Klasse oder des Moduls der Eigenschaft Der Wert der Eigenschaft muss nicht unbedingt als gespeichertes Element1 existieren. |
Ausführbarer Code |
Keiner |
Muss wenigstens eine Prozedur enthalten |
Lese- und Schreibzugriff |
Lese-/Schreibzugriff oder schreibgeschützt |
Lese-/Schreibzugriff, schreibgeschützt oder lesegeschützt |
Benutzerdefinierte Aktionen (neben Akzeptieren oder Zurückgeben eines Werts) |
Nicht möglich |
Können beim Festlegen oder Abrufen des Eigenschaftswerts ausgeführt werden. |
1 Im Unterschied zu einer Variablen entspricht der Wert einer Eigenschaft eventuell nicht direkt einem bestimmten Speicherelement. Das Speicherelement ist aus praktischen oder sicherheitstechnischen Gründen unter Umständen in mehrere Abschnitte aufgeteilt, oder der Wert wird möglicherweise verschlüsselt gespeichert. In diesen Fällen setzt die Get-Prozedur die Abschnitte zusammen oder entschlüsselt den gespeicherten Wert, während die Set-Prozedur den neuen Wert verschlüsselt oder das Speicherelement in mehrere Abschnitte aufteilt. Ein Eigenschaftswert, wie beispielsweise die Tageszeit, kann begrenzte Lebensdauer haben. In diesem Fall würde er von der Get-Prozedur spontan berechnet, sobald Sie auf die Eigenschaft zugreifen.
Siehe auch
Aufgaben
Gewusst wie: Erstellen einer Eigenschaft (Visual Basic)
Gewusst wie: Deklarieren einer Eigenschaft mit gemischten Zugriffsebenen (Visual Basic)
Gewusst wie: Aufrufen einer Eigenschaftenprozedur (Visual Basic)
Gewusst wie: Deklarieren und Aufrufen einer Standardeigenschaft in Visual Basic
Gewusst wie: Ablegen eines Werts in eine Eigenschaft (Visual Basic)
Gewusst wie: Abrufen eines Werts aus einer Eigenschaft (Visual Basic)