Sobes.tech
Junior

Wat is encapsulatie?

sobes.tech AI

Antwoord van AI

Incapsulatie is een mechanisme waarmee je de interne toestand van een object kunt verbergen en beschermen tegen externe inmenging. Het combineert gegevens (velden) en methoden die met deze gegevens werken in één blok — de klasse.

In C# wordt encapsulatie bereikt door middel van toegangsspecificators (public, private, protected, internal, protected internal, private protected) en eigenschappen (Properties).

Voorbeeld met gebruik van eigenschappen:

public class Persoon
{
    private int _leeftijd; // Privé veld

    public int Leeftijd // Publieke eigenschap die gecontroleerde toegang tot het veld _leeftijd biedt
    {
        get { return _leeftijd; }
        set
        {
            if (value >= 0) // Gegevensvalidatie
            {
                _leeftijd = value;
            }
            else
            {
                // Kan een uitzondering werpen of andere actie uitvoeren
                Console.WriteLine("Leeftijd kan niet negatief zijn.");
            }
        }
    }

    public string Naam { get; set; } // Automatisch geïmplementeerde eigenschap

    public void InfoWeergeven()
    {
        Console.WriteLine($"Naam: {Naam}, Leeftijd: {Leeftijd}");
    }
}

Voordelen van encapsulatie:

  • Verbergen van de implementatie: De interne details van het object zijn verborgen voor externe code.
  • Toegangscontrole: Toegang tot gegevens wordt geregeld via methoden of eigenschappen, wat validatie en bedrijfslogica mogelijk maakt.
  • Flexibiliteit: Wijzigingen in de interne implementatie van de klasse beïnvloeden de externe code die de interface gebruikt niet.
  • Verbetering van onderhoudbaarheid: De code wordt meer gestructureerd en begrijpelijk.