Udostępnij za pośrednictwem


Różnice pomiędzy właściwościami i zmiennymi w Visual Basic

Zmienne i właściwości reprezentują wartości, do których można uzyskać dostęp. Istnieją jednak różnice w magazynie i implementacji.

Zmienne

Zmienna odpowiada bezpośrednio lokalizacji pamięci. Należy zdefiniować zmienną z pojedynczą instrukcją deklaracji. Zmienną może być zmienna lokalna, zdefiniowana wewnątrz procedury i dostępna tylko w ramach tej procedury lub może być zmienną składową zdefiniowaną w module, klasie lub strukturze, ale nie wewnątrz żadnej procedury. Zmienna składowa jest również nazywana polem.

Właściwości

Właściwość jest elementem danych zdefiniowanym w module, klasie lub strukturze. Należy zdefiniować właściwość z blokiem kodu między instrukcjami Property i End Property . Blok kodu zawiera procedurę Get , procedurę Set lub oba te elementy. Procedury te są nazywane procedurami właściwości lub metodami dostępu do właściwości. Oprócz pobierania lub przechowywania wartości właściwości mogą również wykonywać akcje niestandardowe, takie jak aktualizowanie licznika dostępu.

Differences

W poniższej tabeli przedstawiono pewne ważne różnice między zmiennymi i właściwościami.

Punkt różnicy Zmienna Właściwości
Deklaracji Instrukcja pojedynczej deklaracji Seria instrukcji w bloku kodu
Implementacja Pojedyncza lokalizacja magazynu Kod wykonywalny (procedury właściwości)
Storage Bezpośrednio skojarzone z wartością zmiennej Zazwyczaj magazyn wewnętrzny jest niedostępny poza właściwością zawierającą klasę lub moduł

Wartość właściwości może lub nie istnieje jako przechowywany element 1
Kod wykonywalny Brak Musi mieć co najmniej jedną procedurę
Dostęp do odczytu i zapisu Odczyt/zapis lub tylko do odczytu Odczyt/zapis, tylko do odczytu lub tylko do zapisu
Akcje niestandardowe (oprócz akceptowania lub zwracania wartości) Niemożliwe Można wykonać w ramach ustawienia lub pobierania wartości właściwości

1 W przeciwieństwie do zmiennej wartość właściwości może nie odpowiadać bezpośrednio jednemu elementowi magazynu. Magazyn może być podzielony na fragmenty dla wygody lub zabezpieczeń lub wartość może być przechowywana w postaci zaszyfrowanej. W takich przypadkach Get procedura zmontuje elementy lub odszyfruje przechowywaną wartość, a Set procedura szyfruje nową wartość lub dzieli ją na magazyn składowy. Wartość właściwości może być efemeryczna, na przykład godzina dnia, w tym przypadku Get procedura oblicza ją na bieżąco za każdym razem, gdy uzyskujesz dostęp do właściwości.

Zobacz też