Sdílet prostřednictvím


Rozdíly mezi vlastnostmi a proměnnými v jazyce Visual Basic

Proměnné i vlastnosti představují hodnoty, ke kterým máte přístup. Existují však rozdíly v úložišti a implementaci.

Proměnné

Proměnná odpovídá přímo umístění paměti. Proměnnou definujete pomocí jediného příkazu deklarace. Proměnnou může být místní proměnná definovaná uvnitř procedury a dostupná pouze v rámci této procedury, nebo může být členovou proměnnou definovanou v modulu, třídě nebo struktuře, ale ne uvnitř žádné procedury. Členské proměnné se také říká pole.

Vlastnosti

Vlastnost je datový prvek definovaný v modulu, třídě nebo struktuře. Definujete vlastnost s blokem kódu mezi příkazy Property a End Property příkazy. Blok kódu obsahuje proceduru Get , proceduru Set nebo obojí. Tyto postupy se nazývají procedury vlastností nebo přístupové objekty vlastností. Kromě načtení nebo uložení hodnoty vlastnosti mohou také provádět vlastní akce, jako je například aktualizace přístupového čítače.

Differences

Následující tabulka uvádí některé důležité rozdíly mezi proměnnými a vlastnostmi.

Point of difference Proměnná Vlastnost
Deklarace Příkaz Single declaration Řada příkazů v bloku kódu
Implementace Jedno umístění úložiště Spustitelný kód (procedury vlastností)
Úložiště Přímo přidružená k hodnotě proměnné Obvykle má interní úložiště, které není k dispozici mimo vlastnost obsahující třídu nebo modul.

Hodnota vlastnosti může nebo nemusí existovat jako uložený prvek 1.
Spustitelný kód Nic Musí mít alespoň jeden postup.
Přístup pro čtení a zápis Čtení/zápis nebo jen pro čtení Čtení/zápis, jen pro čtení nebo jen pro zápis
Vlastní akce (kromě přijetí nebo vrácení hodnoty) Není možné Lze provést jako součást nastavení nebo načtení hodnoty vlastnosti.

1 Na rozdíl od proměnné nemusí hodnota vlastnosti přímo odpovídat jedné položce úložiště. Úložiště může být rozdělené na části pro usnadnění nebo zabezpečení nebo může být hodnota uložena v šifrovaném formátu. V těchto případech by procedura Get sestavovala části nebo dešifrovala uloženou hodnotu a procedura Set by novou hodnotu zašifrovala nebo rozdělila do základního úložiště. Hodnota vlastnosti může být dočasné, například čas dne, v takovém případě Get by se postup vypočítal při běhu při každém přístupu k vlastnosti.

Viz také