OOP C#


Åtkomstnivåer


Inom objektorienterad programmering i C#, används åtkomstmodifierare för att definiera tillgångsnivån för klassmedlemmar, såsom metoder, egenskaper, fält och andra klasser. Dessa åtkomstnivåer är avgörande för att implementera inkapsling, en av de grundläggande principerna i objektorienterad programmering. Inkapsling säkerställer att en klass interna tillstånd och beteende skyddas och dolda från omvärlden, exponerande endast det som är nödvändigt.
 
Här är de olika åtkomstnivåerna i C#:
 
 
Public: Medlemmar som deklareras som public är tillgängliga från vilken annan kod som helst i samma applikation eller samling. Det finns ingen begränsning på åtkomsten.
 
 
Private: Private medlemmar är endast tillgängliga inom den klass de deklareras i. De är inte tillgängliga från klasser som ärver från den klassen eller från någon annan klass.
 
 
Protected: Protected medlemmar är tillgängliga inom den klass de deklareras i, samt i klasser som ärver från den klassen. De är inte tillgängliga utanför dessa klasser.
 
 
Internal: Internal medlemmar är tillgängliga från vilken kod som helst i samma assembly, men inte från kod i andra assemblies. En assembly är en samling av typer och resurser som byggs tillsammans för att skapa en applikation eller ett bibliotek.
 
 
Protected Internal: Protected internal medlemmar är tillgängliga från aktuell assembly och från typer som ärver från den klass där medlemmen deklareras. Detta är en kombination av protected och internal, där åtkomsten är begränsad till antingen ärvt eller samma assembly.
 
 
Private Protected: Denna åtkomstnivå är tillgänglig från och med C# 7.2. Private protected medlemmar är tillgängliga inom den klass de deklareras, och av klasser som ärver från den klassen, men endast när ärven sker i samma assembly. Detta är en mer restriktiv form av protected internal.
 
 
Varje åtkomstnivå erbjuder olika nivåer av skydd och exponering för klassmedlemmar, vilket gör det möjligt för utvecklare att finjustera hur och var deras objekts data och beteenden kan åtkommas och manipuleras. Genom att noggrant välja åtkomstnivåer kan utvecklare upprätthålla objektens integritet och förenkla programunderhållet.
 



Den här sidan designades av 21C: