Piekļuves modifikatori (saukti arī par apjoma noteikšanas noteikumiem) nosaka, kurš kods var piekļūt elementam, tas ir, kāds kods atļauj to lasīt vai rakstīt. Iepriekšējās Visual Basic versijās bija trīs veidu klases. Tie ir pārnesti uz .NET. Katrā no tiem .NET ļauj piekļūt tikai kodam:
- Privāts - tajā pašā modulī, klasē vai struktūrā.
- Draugs - tajā pašā montāžā.
- Publisks - jebkur tajā pašā projektā, no citiem projektiem, kas atsaucas uz projektu, un no visiem projektiem, kas būvēti no projekta. Citiem vārdiem sakot, jebkurš kods, kas to var atrast.
VB.NET ir pievienojis arī pusotru jaunu.
- Aizsargāts
- Aizsargāts draugs
"Puse" ir tāpēc, ka aizsargātais draugs ir jaunās aizsargājamās klases un vecās drauga klases apvienojums.
Aizsargātā un aizsargātā drauga modifikatori ir nepieciešami, jo VB.NET īsteno pēdējo OOP prasību, ka trūka VB: Mantojums.
Iepriekš VB.NET, supercilvēcīgi un nicinoši C ++ un Java programmētāji varētu noniecināt VB, jo tas, pēc viņu domām, bija "nevis pilnībā orientēts uz objektu". Kāpēc? Iepriekšējām versijām nebija mantojuma. Mantojums ļauj objektiem koplietot savas saskarnes un / vai ieviešanu hierarhijā. Citiem vārdiem sakot, mantojums dod iespēju vienam programmatūras objektam, kas izmanto visas citas metodes un īpašības.
To bieži sauc par “ir-ir” attiecībām.
- Kravas automašīna ir-ir transportlīdzeklis.
- Kvadrātveida "ir-a" forma.
- Suns ir zīdītājs.
Ideja ir tāda, ka vispārīgākas un plaši izmantotas metodes un īpašības ir definētas kā "vecāku" klases, un tās tiek precizētas "bērnu" klasēs (bieži sauc par apakšklasēm). "Zīdītājs" ir vispārīgāks apraksts nekā "suns". Vaļi ir zīdītāji.
Liels ieguvums ir tas, ka jūs varat sakārtot savu kodu, tāpēc jums ir tikai jāraksta kods, kas dara kaut ko tādu, kas daudziem objektiem ir jādara vienreiz vecākiem. Visiem "darbiniekiem" ir jāpiešķir "darbinieka numurs". Bērnu nodarbībās var ietilpt konkrētāks kods. Tikai darbiniekiem, kas strādā vispārējā birojā, ir jāpiešķir viņiem darbinieka durvju kartes atslēga.
Tomēr šai jaunajai mantojuma spējai nepieciešami jauni noteikumi. Ja jauna klase balstās uz vecu, Protected ir piekļuves modifikators, kas atspoguļo šīs attiecības. Aizsargātajam kodam var piekļūt tikai no vienas klases vai no klases, kas atvasināta no šīs klases. Jūs nevēlaties, lai darbinieku durvju karšu atslēgas tiktu piešķirtas ikvienam, izņemot darbiniekus.
Kā norādīts, aizsargātais draugs ir gan drauga, gan aizsargātā piekļuves kombinācija. Koda elementiem var piekļūt vai nu no atvasinātām klasēm, vai arī no vienas montāžas, vai abiem. Aizsargāto draugu var izmantot, lai izveidotu klašu bibliotēkas, jo kodam, kas piekļūst tikai jūsu kodam, jābūt tajā pašā komplektācijā.
Bet draugam ir arī šī piekļuve, tad kāpēc jūs izmantotu aizsargāto draugu? Iemesls ir tas, ka draugu var izmantot avota failā, Vārdu telpa, Interfeiss, Modulis, klase vai struktūra. Bet aizsargāto draugu var izmantot tikai klasē. Aizsargātais draugs ir tas, kas jums nepieciešams, lai izveidotu pats savu bibliotēku. Draugs ir paredzēts tikai sarežģītām koda situācijām, kad patiešām ir nepieciešama plaša piekļuve montāžai.