Unterschiede zwischen Eigenschaften und Variablen in Visual Basic

Sowohl Variablen als auch Eigenschaften stellen Werte dar, auf die Sie zugreifen können. Es gibt jedoch Unterschiede bei der Speicherung und Implementierung.

Variablen

Eine Variable entspricht direkt einer Stelle im Arbeitsspeicher. Sie definieren eine Variable mit einer einzelnen Deklarationsanweisung. Variablen können lokale Variablen sein, die innerhalb einer Prozedur definiert werden und nur innerhalb dieser Prozedur verfügbar sind, oder sie können Membervariablen sein, die in einem Modul, einer Klasse oder einer Struktur definiert werden, aber nicht in einer Prozedur. Membervariablen werden auch als Felder bezeichnet.

Eigenschaften

Eine Eigenschaft ist ein Datenelement, das für ein Modul, eine Klasse oder eine Struktur definiert ist. Sie definieren eine Eigenschaft mit einem Codeblock zwischen den Anweisungen Property und End Property. Der Codeblock enthält eine Get-Prozedur, eine Set-Prozedur oder beides. Diese Prozeduren werden als Eigenschaftsprozeduren oder Eigenschaftsaccessoren bezeichnet. Zusätzlich zum Abrufen oder Speichern des Werts der Eigenschaft können sie auch benutzerdefinierte Aktionen ausführen, z. B. das Aktualisieren eines Zugriffsindikators.

Unterschiede

Die folgende Tabelle zeigt einige wichtige Unterschiede zwischen Variablen und Eigenschaften.

Unterschied Variable Eigenschaft
Deklaration Einzelne Deklarationsanweisung Reihe von Anweisungen in einem Codeblock
Implementierung Einzelne Stelle im Speicher Ausführbarer Code (Eigenschaftsprozeduren)
Storage Direkt mit dem Wert der Variablen verknüpft Weist in der Regel internen Speicher auf, der außerhalb der Klasse oder des Moduls der Eigenschaft nicht verfügbar ist

Wert der Eigenschaft möglicherweise als gespeichertes Element vorhanden 1
Ausführbarer Code Keine Mindestens eine Prozedur vorhanden
Lese- und Schreibzugriff Lese-/Schreibzugriff oder schreibgeschützt Lese-/Schreibzugriff, schreibgeschützt oder lesegeschützt
Benutzerdefinierte Aktionen (zusätzlich zum Akzeptieren oder Zurückgeben eines Werts) Nicht möglich Kann beim Festlegen oder Abrufen des Eigenschaftswerts ausgeführt werden

1 Im Gegensatz zu einer Variablen entspricht der Wert einer Eigenschaft möglicherweise nicht direkt einer einzelnen Stelle im Arbeitsspeicher. Der Speicher kann aus Gründen der Einfachheit oder Sicherheit in Teile aufgeteilt werden, oder der Wert wird in verschlüsselter Form gespeichert. In diesen Fällen setzt die Get-Prozedur die Teile zusammen oder entschlüsselt den gespeicherten Wert, und die Set-Prozedur verschlüsselt den neuen Wert oder teilt ihn im konstituierenden Speicher auf. Ein Eigenschaftswert kann kurzlebig sein, z. B. die Tageszeit. In diesem Fall berechnet die Get-Prozedur ihn dynamisch bei jedem Zugriff auf die Eigenschaft.

Siehe auch