Draugas ir saugomas draugas VB.NET

Prieigos modifikatoriai (dar vadinami apimties nustatymo taisyklėmis) nustato, koks kodas gali pasiekti elementą, ty koks kodas turi teisę jį skaityti ar rašyti. Ankstesnėse „Visual Basic“ versijose buvo trijų tipų klasės. Jie buvo perkelti į .NET. Kiekviename iš jų .NET suteikia prieigą tik prie kodo:

  • Privatus - tame pačiame modulyje, klasėje ar struktūroje.
  • Draugas - toje pačioje asamblėjoje.
  • Vieša - bet kurioje to paties projekto vietoje, iš kitų projektų, nurodančių projektą, ir iš visų projekto, pastatyto remiantis projektu. Kitaip tariant, bet koks kodas, kuris jį gali rasti.

VB.NET taip pat pridėjo pusantro naujo.

  • Saugoma
  • Apsaugotas draugas

„Pusė“ yra todėl, kad „Apsaugotas draugas“ yra naujos apsaugotos klasės ir senosios draugo klasės derinys.

Apsaugoti ir apsaugoti draugai yra būtini, nes VB.NET įgyvendina paskutinį OOP reikalavimą, kurio trūko. Paveldimumas.

Anksčiau VB.NET, puikūs ir paniekinantys „C ++“ ir „Java“ programuotojai smerkė VB, nes, pasak jų, „nebuvo visiškai orientuoti į objektą“. Kodėl? Ankstesnės versijos neturėjo paveldėjimo. Paveldimumas leidžia objektams dalytis savo sąsajomis ir (arba) įgyvendinimu hierarchijoje. Kitaip tariant, paveldėjimas suteikia galimybę vienam programinės įrangos objektui, kuris naudojasi visais kito metodais ir savybėmis.

instagram viewer

Tai dažnai vadinama „yra“ santykiais.

  • Sunkvežimis yra „transporto priemonė“.
  • Kvadratinė „yra-a“ forma.
  • Šuo "yra" žinduolis.

Idėja yra ta, kad bendresni ir plačiau naudojami metodai ir savybės yra apibrėžiami kaip „tėvų“ klasės ir jie yra konkretesni „vaiko“ klasėse (dažnai vadinamuose poklasiais). „Žinduolis“ yra bendresnis apibūdinimas nei „šuo“. Banginiai yra žinduoliai.

Didelis pranašumas yra tai, kad galite susitvarkyti savo kodą, taigi jums tereikia parašyti kodą, kuris daro tai, ką daug objektų turi padaryti vieną kartą tėvelyje. Visi „darbuotojai“ turi turėti jiems priskirtą „darbuotojo numerį“. Tikslesnis kodas gali būti vaikų užsiėmimų dalis. Tik darbuotojams, dirbantiems bendrojoje įstaigoje, reikia turėti jiems priskirtą durų kortelės raktą.

Tačiau šiam naujam paveldėjimo gebėjimui reikia naujų taisyklių. Jei nauja klasė yra pagrįsta sena, „Protected“ yra prieigos modifikatorius, atspindintis tą santykį. Apsaugotą kodą galima pasiekti tik iš tos pačios klasės arba iš šios klasės išvestos klasės. Jūs nenorite, kad darbuotojų durų kortelių raktai būtų paskirti niekam, išskyrus darbuotojus.

Kaip pažymėta, apsaugotas draugas yra ir draugo, ir apsaugotojo prieigos derinys. Kodo elementus galima pasiekti iš išvestų klasių arba iš tos pačios sąrankos, arba iš abiejų. Apsaugotas draugas gali būti naudojamas klasių bibliotekoms kurti, nes kodas, kuris prieinamas tik jūsų kodui, turi būti toje pačioje rinkinyje.

Tačiau „Friend“ taip pat turi tokią prieigą, tad kodėl turėtumėte naudoti apsaugotą draugą? Priežastis ta, kad draugą galima naudoti šaltinio faile, Vardų sritis, Sąsaja, Modulis, klasė arba struktūra. Bet apsaugotas draugas gali būti naudojamas tik klasėje. Apsaugotas draugas yra tai, ko jums reikia kuriant savo objektų bibliotekas. Draugas skirtas tik sudėtingoms kodinėms situacijoms, kai tikrai reikalinga plati prieiga.