Sobes.tech
Junior — Middle

Kunt u het principe van encapsulatie uitleggen en hoe het wordt geïmplementeerd in objectgeoriënteerd programmeren?

sobes.tech AI

Antwoord van AI

Incapsulatie is een principe van objectgeoriënteerd programmeren dat inhoudt dat de interne implementatie van een object wordt verborgen en dat toegang tot gegevens en methoden alleen via een bepaalde interface wordt geboden.

Dit maakt het mogelijk:

  • Gegevens te beschermen tegen onjuiste gebruik
  • De complexiteit van de implementatie te verbergen
  • Controle te houden over de wijziging van de toestand van het object

In OOP-talen wordt encapsulatie gerealiseerd met behulp van toegangsmodifiers (bijvoorbeeld private, protected, public), die bepalen welke velden en methoden van buitenaf toegankelijk zijn.

Voorbeeld in Go (waar encapsulatie wordt bereikt door geëxporteerde en niet geëxporteerde identificatoren):

type User struct {
    name string // niet geëxporteerd veld, alleen binnen de package toegankelijk
}

func (u *User) GetName() string {
    return u.name // publieke methode voor toegang tot de naam
}

func (u *User) SetName(newName string) {
    if newName != "" {
        u.name = newName
    }
}

Hier is het veld name verborgen voor externe toegang, en de interactie ermee gebeurt via de methoden GetName en SetName, die de toegang- en wijzigingslogica controleren.