Juurdepääs C#-i modifikaatoritele (spetsifikaatoritele) programminäidetega
Mis on juurdepääsu modifikaator (täpsustaja) C#-s?
Juurdepääsu modifikaatorid või Access Specifiers C#-s on märksõnad, mida kasutatakse klassi atribuudi või meetodi nähtavuse määratlemiseks. Seda kasutatakse siis, kui te ei soovi, et teised programmid näeksid klassi atribuute või meetodeid. Juurdepääsu modifikaatorid piiravad juurdepääsu, et teised programmid ei näeks klassi atribuute ega meetodeid.
C#-s on 6 tüüpi juurdepääsu modifikaatoreid:
- Era-
- avalik
- Kaitstud
- sisemine
- Kaitstud sisemine
- Privaatne Kaitstud
Allpool selgitatud programminäidetega õpime tundma C# peamisi juurdepääsumuutujaid.
Privaatjuurdepääsu modifikaatorid C#-s
Kui privaatjuurdepääsu modifikaator on lisatud atribuudile või meetodile, tähendab see, et nendele liikmetele ei pääse juurde ühestki välisest programmist.
Privaatjuurdepääsu modifikaatori näide
Võtame näite ja vaatame, mis juhtub, kui kasutame privaatjuurdepääsu modifikaatorit.
Muutkem praegust koodi meie failis Tutorial.cs. SetTutorial meetodis muudame avaliku märksõna privaatseks.
Nüüd läheme üle meie failile Program.cs. Märkate, et meetodi SetTutorial all on punane kõverjooneline joon.
Kuna oleme nüüd oma Tutorial klassis meetodi SetTutorial privaatseks kuulutanud, on Visual Studio selle tuvastanud. Ta teatas kasutajale, tõstes selle esile, et nüüd see meetod failis Program.cs ei tööta.
C# avaliku juurdepääsu modifikaatorid
Kui atribuudile või meetodile on lisatud avaliku juurdepääsu modifikaator, tähendab see, et nendele liikmetele pääseb juurde mis tahes välisest programmist. Oleme seda juba oma varasemates näidetes näinud.
Avaliku juurdepääsu muutja näide
Kuna oleme oma meetodid Tutorial klassis määratlenud avalikuna, pääseb neile juurde failist Program.cs.
Kaitstud juurdepääsu modifikaatorid C#-s
Kui atribuudile või meetodile on lisatud kaitstud juurdepääsu modifikaator, tähendab see, et neile liikmetele pääseb juurde ainult klassid päritud voolust klass. Seda selgitatakse lähemalt Pärandi klassis.
C# sisepääsu modifikaatorid
Kui atribuudile või meetodile on lisatud sisemine juurdepääsu modifikaator, pääseb neile liikmetele juurde ainult sisemine programm, kuid mitte väline programm.
C# konstruktor
C# Konstruktoreid kasutatakse vastavate objektide loomisel klassiväljade väärtuste lähtestamiseks. Konstruktor on meetod, millel on klassi omaga sama nimi. Kui klassis on defineeritud konstruktor, pakub see esimese meetodi, mida objekti loomisel kutsutakse. Oletame, et meil oleks klass nimega Töötaja. Konstruktormeetodi nimi oleks ka töötaja().
Konstruktormeetodite puhul tuleb tähele panna järgmisi põhiasju
- Konstruktori C# vaikimisi juurdepääsumuutja tuleb muuta avalikuks.
- Konstruktormeetodil ei tohiks olla tagastustüüpi.
C# konstruktori näide
Vaatame nüüd, kuidas saame konstruktorite kasutajat oma koodi kaasata. Objekti loomisel kasutame väljade TutorialID ja TutorialName mõne vaikeväärtuse lähtestamiseks konstruktoreid.
Step 1) Esimene samm on meie Tutorial klassi konstruktori loomine. Selles etapis lisame faili Tutorial.cs alloleva koodi.
Koodi selgitus: -
- Esmalt lisame uue meetodi, millel on klassi omaga sama nimi. Kuna see on klassiga sama nimi, käsitleb C# seda konstruktorimeetodina. Nii et nüüd, kui kutsumismeetod loob selle klassi objekti, kutsutakse seda meetodit vaikimisi.
- Seame Tutorial konstruktoris TutorialID väärtuseks 0 ja TutorialName väärtuseks “Vaikimisi”. Nii et alati, kui objekt luuakse, on neil väljadel alati need vaikeväärtused.
Nüüd läheme üle meie failile Program.cs ja eemaldame lihtsalt SetTutoriali meetodi kutsuva rea. Seda seetõttu, et tahame lihtsalt näha, kuidas konstruktor töötab.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { public int TutorialID; public string TutorialName; public Tutorial() { TutorialID=0; TutorialName="Default"; } public void SetTutorial(int pID,string pName) { TutorialID=pID; TutorialName=pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Tutorial pTutor=new Tutorial(); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
Koodi selgitus: -
- Esimene samm on luua objekt klassi Tutorial jaoks. Seda tehakse märksõna "uus" kaudu.
- Kasutame TutorialName hankimiseks klassi Tutorial meetodit GetTutorial. Seejärel kuvatakse see konsoolile meetodi Console.WriteLine kaudu.
Kui ülaltoodud kood on õigesti sisestatud ja programm käivitatud, kuvatakse järgmine väljund.
Väljund:
Väljundist näeme, et konstruktorit tõepoolest kutsuti ja õpetuse TutorialName väärtuseks määrati “Vaikimisi”.
Märge: Siin tuuakse konstruktorilt väärtus “vaikeväärtus”.
kokkuvõte
- Klassi atribuudi või meetodi nähtavuse määratlemiseks kasutatakse C# juurdepääsu modifikaatoreid või juurdepääsuspetsifikaatoreid.
- Kui privaatjuurdepääsu modifikaator on lisatud atribuudile või meetodile, tähendab see, et nendele liikmetele ei pääse juurde ühestki välisest programmist.
- Kui atribuudile või meetodile on lisatud avaliku juurdepääsu modifikaator, tähendab see, et nendele liikmetele pääseb juurde mis tahes välisest programmist.
- Kui atribuudile või meetodile on lisatud kaitstud juurdepääsu modifikaator, tähendab see, et nendele liikmetele pääsevad juurde ainult praegusest klassist päritud klassid.
- Kui atribuudile või meetodile on lisatud sisemine juurdepääsu modifikaator, pääseb neile liikmetele juurde ainult sisemine programm, kuid mitte väline programm.
- C# konstruktoreid kasutatakse klassiväljade väärtuste lähtestamiseks nende vastavate objektide loomisel.