Dataskjul i VB .NET
Dataskjuling er en klasses evne til å begrense tilgangen til datamedlemmer til visse kategorier av metoder eller klasser.
Det er to typer data som skjuler seg i VB .NET:
1. Innkapsling: Encapsulation, når det brukes i sammenheng med Visual Basic .NET, er teknikken for å pakke sammen variabler og funksjoner i en klasse. Alle detaljene er pakket inn slik at brukerne bare trenger å vite hvordan klassen fungerer, og ikke hvordan den fungerer.
2. Tilgjengelighetsmodifikator: Disse brukes til å spesifisere tilgangsnivået til elementene i klassen. Tilgjengelighet for klassemedlemmer (felt, metoder og egenskaper) kan endres basert på omfanget der de kan nås.
Tabellen nedenfor gir en oversikt over de forskjellige tilgjengelighetsmodifikatorene med en forklaring av omfanget.
| Modifikator | Omfang |
|-------|-------|
| Privat | Kun tilgjengelig innenfor klassen. |
| Beskyttet | Tilgjengelig innenfor klassen, dens avledede klasser og vennene. |
| Intern | Tilgjengelig i forsamlingen. |
| Beskyttet intern | Tilgjengelig innenfor forsamlingen og de avledede klassene. |
| Offentlig | Tilgjengelig for alle andre klasser i prosjektet, klassene i de forskjellige prosjektene med samme løsning og klassene til andre prosjekter som refererer til denne sammenstillingen. |
| Venn | Tilgjengelig for alle klassene i samme samling eller prosjekt. |
| NotInheritable | Kun tilgjengelig for klassen og kan ikke arves |
Eksempel på dataskjuling i VBNET:
```
Kunde i offentlig klasse
Privat _id
Privat _fName
Privat _lNavn
Privat _e-post
ID for offentlig eiendom
Bli
Returner _id
Slutt Get
Sett (verdi)
Hvis verdi <=0 Da
Kast nytt system.ArgumentException("ID må være et positivt heltall.", "ID")
Avslutt If
_id =verdi
Sluttsett
Avslutt eiendom
Offentlig eiendoms fornavn
Bli
Returner _fName
Slutt Get
Sett (verdi)
_fName =verdi
Sluttsett
Avslutt eiendom
Offentlig eiendoms etternavn
Bli
Returner _lName
Slutt Get
Sett (verdi)
_lName =verdi
Sluttsett
Avslutt eiendom
E-post for offentlig eiendom
Bli
Returner _e-post
Slutt Get
Sett (verdi)
Hvis ikke IsValidEmail(verdi) Da
Kast nytt system.ArgumentException("Ugyldig e-postadresse.", "E-post")
Avslutt If
_email =verdi
Sluttsett
Avslutt eiendom
Privat delt funksjon er gyldig e-post(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)
Returner emailMatch
Avslutt funksjon
Slutt klasse
```
I eksemplet ovenfor har vi definert en klasse kalt «Kunde» som innkapsler kundens detaljer som ID, Fornavn, Etternavn og E-post. Vi har også definert en privat delt metode kalt `IsValidEmail` som brukes til å validere e-postadressen. Tilgjengeligheten til klassemedlemmene kontrolleres ved hjelp av "Privat" og "Offentlig" tilgjengelighetsmodifikator. 'ID'-egenskapen er merket som 'Privat', noe som betyr at den ikke kan nås utenfor klassen. Egenskapene `FirstName`, `LastName` og `Email` er merket som `Public`, noe som betyr at de kan nås fra utenfor klassen.