Data gömmer i VB .NET
Datadöljning är förmågan hos en klass att begränsa åtkomsten för sina datamedlemmar till vissa kategorier av metoder eller klasser.
Det finns två typer av data som gömmer sig i VB .NET:
1. Inkapsling: Encapsulation, när den används i Visual Basic .NET-sammanhang, är tekniken för att packa ihop variabler och funktioner i en klass. Alla detaljer är inlindade så att användarna bara behöver veta hur klassen fungerar, och inte hur den fungerar.
2. Tillgänglighetsmodifierare: Dessa används för att specificera åtkomstnivån för elementen i klassen. Tillgängligheten för klassmedlemmar (fält, metoder och egenskaper) kan ändras baserat på omfattningen där de kan nås.
Följande tabell ger en översikt över de olika tillgänglighetsmodifierarna med en förklaring av deras omfattning.
| Modifierare | Omfattning |
|-------|-------|
| Privat | Endast tillgängligt inom klassen. |
| Skyddad | Tillgänglig inom klassen, dess härledda klasser och vännerna. |
| Intern | Finns i aggregatet. |
| Skyddad intern | Tillgänglig inom monteringen och de härledda klasserna. |
| Offentlig | Tillgängligt för alla andra klasser i projektet, klasserna i de olika projekten i samma lösning och klasserna i andra projekt som refererar till denna sammansättning. |
| Vän | Tillgänglig för alla klasser i samma sammansättning eller projekt. |
| NotInheritable | Endast tillgänglig för klassen och kan inte ärvas |
Exempel på att data döljer sig i VBNET:
```
Public Class-kund
Privat _id
Privat _fName
Privat _lNamn
Privat _e-post
Public Property ID
Få
Returnera _id
Avsluta Get
Set (värde)
Om värde <=0 Då
Kasta nytt system.ArgumentException("ID måste vara ett positivt heltal.", "ID")
Avsluta om
_id =värde
Slutuppsättning
Avsluta egendom
Allmän egendom Förnamn
Få
Returnera _fName
Avsluta Get
Set (värde)
_fName =värde
Slutuppsättning
Avsluta egendom
Offentlig egendom efternamn
Få
Returnera _lName
Avsluta Get
Set (värde)
_lName =värde
Slutuppsättning
Avsluta egendom
E-post för offentlig egendom
Få
Returnera _e-post
Avsluta Get
Set (värde)
Om inte IsValidEmail(värde) Då
Kasta nytt system.ArgumentException("Ogiltig e-postadress.", "E-post")
Avsluta om
_email =värde
Slutuppsättning
Avsluta egendom
Privat delad funktion IsValidEmail(e-post)
Dim emailRegex As String ="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$ "
Dim emailMatch As Boolean =Regex.IsMatch(email, emailRegex)
Returnera emailMatch
Avsluta funktion
Slutklass
```
I exemplet ovan har vi definierat en klass som heter `Kund` som kapslar in kundens detaljer som ID, Förnamn, Efternamn och E-post. Vi har också definierat en privat delad metod som heter `IsValidEmail` som används för att validera e-postadressen. Tillgängligheten för klassmedlemmarna kontrolleras med hjälp av "Privat" och "Public" tillgänglighetsmodifierare. Egenskapen "ID" är markerad som "Privat", vilket betyder att den inte kan nås utanför klassen. Egenskaperna `FirstName`, `LastName` och `Email` är markerade som `Public`, vilket betyder att de kan nås utanför klassen.