C# Access Modifiers (Specificaties) Begrijpen met Praktische Voorbeelden
Wat zijn Access Modifiers in C#?
Access modifiers – trefwoorden die de zichtbaarheid van types en typeleden controleren – zijn een hoeksteen van encapsulatie in C#. Ze bepalen welke code een class, property of methode kan refereren, zodat alleen de bedoelde delen van een programma met interne implementatiedetails kunnen interacteren.
Er zijn zes access modifiers beschikbaar in C#:
- Private
- Public
- Protected
- Internal
- Protected Internal
- Private Protected
In deze tutorial leer je:
- Wat access modifiers zijn en waarom ze belangrijk zijn
- Private, Public, Protected en Internal modifiers in diepte
- Hoe constructors classvelden initialiseren
Private Access Modifiers
Het markeren van een lid als private beperkt het gebruik tot de bevattende class alleen. Externe code – inclusief andere classes binnen dezelfde assembly – kan een private lid niet refereren.
Voorbeeld van Private Access Modifier
Laten we SetTutorial in Tutorial.cs aanpassen om deze regel te illustreren. Verander het public trefwoord naar private:

Schakel nu naar Program.cs. De compiler zal de SetTutorial-aanroep met een rode krullijn onderstrepen, wat aangeeft dat de methode vanaf deze locatie niet toegankelijk is.

Public Access Modifiers
Publieke leden zijn zichtbaar voor elke code die het bevattende type kan refereren. Dit is de standaard voor leden die geen access modifier specificeren.
Voorbeeld van Public Access Modifier

Omdat SetTutorial gedeclareerd is als public, kan het vanuit Program.cs worden aangeroepen zonder compilerfouten.
Protected Access Modifiers
Een protected lid is alleen toegankelijk binnen zijn eigen class en eventuele afgeleide classes. Dit toegangsniveau is ideaal voor het maken van herbruikbare basisklassen terwijl interne implementatie beschermd blijft.
Internal Access Modifiers
Interne leden zijn zichtbaar voor alle code binnen dezelfde assembly, maar niet voor code in andere assemblies. Dit is nuttig voor bibliotheekcomponenten die alleen aan de consumenten van de bibliotheek blootgegeven moeten worden.
Constructors in C#
Constructors initialiseren een nieuwe instantie van een class. Ze delen de classnaam, hebben geen retourtype, en worden automatisch aangeroepen wanneer new wordt gebruikt.
- De standaardtoegang voor een constructor is
publictenzij anders gespecificeerd. - Een constructor kan geen retourtype declareren.
Voorbeeld van een C# Constructor
We demonstreren een constructor die standaardwaarden instelt voor TutorialID en TutorialName wanneer een Tutorial-object wordt gecreëerd.
Stap 1) Voeg de constructor toe aan Tutorial.cs:

Code Uitleg
- De methode genaamd
Tutorialwordt behandeld als een constructor. Hij draait automatisch wanneer een instantie wordt gecreëerd. - De constructor wijst
0toe aanTutorialIDen"Default"aanTutorialName, wat consistente initiële state garandeert.
In Program.cs, verwijder de aanroep naar SetTutorial om te focussen op constructor-gedrag:

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();
}
}
}
Code Uitleg
- Een instantie van
Tutorialwordt gecreëerd met hetnewtrefwoord. - De
GetTutorial-methode haalt de standaardTutorialNameop, wat vervolgens wordt getoond viaConsole.WriteLine.
Bij uitvoering toont de console:
Uitvoer:

De uitvoer bevestigt dat de constructor draaide en TutorialName initialiseerde naar "Default".
Let op: De waarde "Default" komt van de constructor, niet van externe code.
Samenvatting
- Access modifiers definiëren de zichtbaarheid van classleden.
privateverbergt leden voor alle externe code.publicblootstelt leden aan elke refererende code.protectedbeperkt leden tot de class en zijn nakomelingen.internalbeperkt zichtbaarheid tot de huidige assembly.- Constructors initialiseren velden wanneer een object geïnstantieerd wordt.
C Taal
- C# Access Modifiers: Public, Private, Protected, Internal en Meer
- C++ do‑while Lus: Syntaxis, Praktische Voorbeelden en Geneste Lussen
- C++ Pointers Onder de Knie: Concepten, Voorbeelden & Praktische Toepassingen
- C++ Operator Overloading – Praktische Handleiding met Code‑Voorbeelden
- C++ Functies Uitgelegd met Praktische Codevoorbeelden
- C# Collections Beheersen: Een Praktische Tutorial met Real-World Voorbeelden
- Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
- Python round()-functie uitgelegd met praktische voorbeelden
- Python's map()-functie beheersen: syntaxis, voorbeelden en best practices
- Python timeit() – Uitvoeringstijd meten met praktische voorbeelden
- Python list.count(): Expert Gids met Praktische Voorbeelden