I en objektorienterad programmeringskontext är private
och protected
åtkomstmodifierare i C# som används för att styra åtkomsten till klassmedlemmar, såsom fält, metoder och egenskaper. Dessa nyckelord är centrala för att implementera inkapsling, en av de grundläggande principerna inom objektorienterad programmering (OOP). Inkapsling handlar om att dölja klassens interna tillstånd och beteende från omvärlden och endast exponera en definierad uppsättning offentliga medlemmar och funktioner. Detta bidrar till en mer modulär och underhållbar kod genom att minska beroenden mellan olika delar av ett program.
Nyckelordet private
används för att ange att en medlem i en klass enbart är åtkomlig inom samma klass. Det innebär att ingen annan klass, inte ens en som ärver från den klassen, kan komma åt dessa medlemmar direkt. Användningen av private
är grundläggande för att upprätthålla en strikt kontroll över klassens tillstånd och beteende, och för att förhindra oavsiktlig manipulation eller åtkomst från extern kod.
Exempel på användning av private
:
Nyckelordet protected
är mindre restriktivt än private
och tillåter åtkomst till klassmedlemmar inte bara inom den egna klassen utan även inom alla klasser som ärver från den klassen. Detta gör protected
medlemmar användbara för att dela kod och beteenden mellan en klass och dess subklasser, samtidigt som de skyddas från åtkomst av andra klasser som inte är en del av arvshierarkin.
Exempel på användning av protected
:
Användningen av private
och protected
återspeglar designbeslut som balanserar mellan behovet av säkerhet och inkapsling mot flexibilitet och återanvändbarhet i arv. Genom att noggrant välja vilka medlemmar som ska vara privata, skyddade eller offentliga, kan utvecklare skapa robusta, säkra och modulära applikationer som är lätta att underhålla och utöka.
Att använda private
åtkomstmodifieraren är en viktig del av att upprätthålla inkapslingen inom en klass. Ett exempel på när det kan vara lämpligt att använda private
är när man hanterar känslig data eller interna tillstånd som inte ska påverkas direkt av extern kod. Genom att göra sådana fält eller metoder privata, kan du säkerställa att de endast kan manipuleras genom väldefinierade offentliga metoder, vilket minskar risken för fel och hjälper till att upprätthålla objektets integritet.
Tänk dig en Bankkonto
-klass som håller reda på en användares saldo. Det är kritiskt att säkerställa att saldot inte kan modifieras godtyckligt eller oavsiktligt från extern kod, eftersom det skulle kunna leda till inkonsekvenser och säkerhetsproblem.
I detta exempel förhindrar användningen av private
för saldo
-fältet att externa klasser direkt ändrar saldot. Istället måste alla interaktioner med saldot ske genom de offentliga metoderna Insättning
, Uttag
, och HämtaSaldo
, vilka alla innehåller logik för att säkerställa att operationerna är giltiga. Detta upprätthåller klassens integritet och förhindrar inkonsekventa tillstånd.
När nyckelordet private
används i C#, indikerar det att de markerade medlemmarna i klassen (vare sig det är egenskaper, fält, metoder eller händelsehanterare) endast ska vara åtkomliga inom den klass där de deklareras. Syftet med detta är att skydda dessa medlemmar från oavsiktlig eller obehörig åtkomst och manipulation från andra delar av programmet, vilket är en central aspekt av inkapslingsprincipen inom objektorienterad programmering.
Genom att göra variabler och egenskaper private
, kan du kontrollera hur dessa data manipuleras genom att endast tillåta åtkomst till dem via metoder (till exempel getters och setters) som du definierar. Detta ger dig möjligheten att genomföra validering eller andra kontroller innan data tillåts ändras eller läsas, vilket bidrar till att upprätthålla objektets integritet och förhindra felaktiga tillstånd.
På liknande sätt, genom att göra metoder private
, begränsar du deras användning till den klass där de definieras. Detta är användbart för hjälpmetoder som endast är relevanta för den interna logiken i klassen och inte bör vara en del av klassens offentliga gränssnitt. Det hjälper till att hålla klassens offentliga gränssnitt rent och fokuserat, vilket underlättar förståelsen och användningen av klassen i större program.
Användningen av private
är därför ett viktigt verktyg för att skapa säker och underhållbar kod genom att:
I objektorienterad programmering i C# används "private" och "protected" för att bestämma vem som kan använda delar av en klass, som fält och metoder, för att hålla koden säker och välorganiserad.
"Private" betyder att bara den klassen där något skapas kan använda det. Det hjälper till att hålla klassens information säker och ser till att bara rätt delar av klassen kan ändra på saker.
"Protected" är lite friare än "private" och låter klasser som är släkt med varandra dela på saker. Men det stoppar fortfarande kod utanför familjen från att använda dem. Det är bra för att låta liknande klasser arbeta tillsammans utan att blanda ihop dem med annan kod.
Så, "private" och "protected" hjälper till att hålla koden säker och lätt att hantera genom att kontrollera vem som kan göra vad.
Den här sidan designades av 21C: