I C#, hva er forskjellen mellom offentlig, privat, beskyttet og uten tilgangsmodifikator?
Jeg har brukt offentlig
hele studietiden, og vil gjerne vite forskjellen mellom offentlig
, privat
og beskyttet
?
Også hva gjør statisk
i motsetning til å ikke ha noe?
698
3
Hmm.
Se her: Access Modifiers.
I et nøtteskall:
Offentlig gir metoden eller typen full synlighet fra andre typer/klasser.
Private gir bare typen som inneholder den private metoden/variabelen tilgang til den private metoden/variabelen (merk at nestede klasser også har tilgang til de inneholdende klassenes private metoder/variabler).
Protected ligner på private, bortsett fra at avledede klasser også kan få tilgang til beskyttede metoder.
" Ingenting " er VB.NET&# 39s ekvivalent til null. Selv om du refererer til "ingenting" som betyr "ingen tilgangsmodifikator", avhenger det, selv om en veldig grov tommelfingerregel (absolutt i C #) er at hvis du ikke eksplisitt spesifiserer en tilgangsmodifikator, er metoden / variabeldeklarasjonen vanligvis så begrenset som den kan være. dvs.
er effektivt det samme som:
Den koblede MSDN-artikkelen vil gi en fullstendig beskrivelse når det ikke er spesifisert noen tilgangsmodifikator eksplisitt.
mmm...
Statisk betyr at du kan få tilgang til funksjonen uten å ha en forekomst av klassen.
Du kan få tilgang direkte fra klassedefinisjonen.
Disse tilgangsmodifikatorene angir hvor medlemmene dine er synlige. Du bør sannsynligvis lese dette opp. Ta utgangspunkt i lenken gitt av IainMH.
Statiske medlemmer er ett per klasse og ikke ett per instans.