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 sats Property och sats End 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å vidta specialanpassade åtgärder, till exempel att uppdatera en åtkomsträknare.

Skillnader

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

Skillnadspunkt Variabel Fastighet
Deklaration Instruktion för enkel deklaration Serie med instruktioner i ett kodblock
Genomförande Enskild lagringsplats Körbar kod (egenskapsprocedurer)
Förvaring Direkt associerad med variabelns värde Intern lagring är normalt sett inte tillgänglig utanför den klass eller modul som innehåller egenskapen.

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 Läs/skriv eller skrivskyddad Läs/skriv, skrivskyddad eller skriv-endast
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älligt, till exempel tid på dygnet, i vilket fall proceduren Get beräknar det på direkten varje gång du åtkommer egenskapen.

Se även