Dela via


Skillnader mellan egenskaper och variabler i Visual Basic

Variabler och egenskaper representerar båda värden som du kan komma åt. Det finns dock skillnader i lagring och implementering.

Variabler

En variabel motsvarar direkt en minnesplats. Du definierar en variabel med en enda deklarationssats. En variabel kan vara en lokal variabel, definierad i en procedur och endast tillgänglig inom den proceduren, eller så kan den vara en medlemsvariabel som definieras i en modul, klass eller struktur men inte inuti någon procedur. En medlemsvariabel kallas också för ett fält.

Egenskaper

En egenskap är ett dataelement som definierats i en modul, klass eller struktur. Du definierar en egenskap med ett kodblock mellan - och-uttrycken PropertyEnd Property . Kodblocket innehåller en Get procedur, en Set procedur eller både och. Dessa procedurer kallas egenskapsprocedurer eller egenskapsåtkomster. Förutom att hämta eller lagra egenskapens värde kan de också utföra anpassade åtgärder, till exempel att uppdatera en åtkomsträknare.

Skillnad

I följande tabell visas några viktiga skillnader mellan variabler och egenskaper.

Skillnadspunkt Olika Property
Förklaring Instruktion för enkel deklaration Serie med instruktioner i ett kodblock
Implementering Enskild lagringsplats Körbar kod (egenskapsprocedurer)
Lagring Direkt associerad med variabelns värde Intern lagring är vanligtvis inte tillgänglig utanför egenskapens innehållande klass eller modul

Egenskapens värde kanske eller kanske inte finns som ett lagrat element 1
Körbar kod Ingen Måste ha minst en procedur
Läs- och skrivåtkomst Skrivskyddad/skrivskyddad Skrivskyddad,skrivskyddad eller skrivskyddad
Anpassade åtgärder (förutom att acceptera eller returnera värde) Inte möjligt Kan utföras som en del av inställning eller hämtning av egenskapsvärde

1 Till skillnad från en variabel kanske värdet för en egenskap inte direkt motsvarar ett enda lagringsobjekt. Lagringen kan delas upp i bitar för bekvämlighet eller säkerhet, eller så kan värdet lagras i ett krypterat formulär. I dessa fall skulle proceduren Get montera delarna eller dekryptera det lagrade värdet, och proceduren Set skulle kryptera det nya värdet eller dela upp det i den ingående lagringen. Ett egenskapsvärde kan vara tillfälliga, till exempel tid på dagen, i vilket fall proceduren Get beräknar det i farten varje gång du kommer åt egenskapen.

Se även