Sobes.tech
Junior — Middle

Leg het concept van gegevensencapsulatie uit in objectgeoriënteerd programmeren.

sobes.tech AI

Antwoord van AI

Encapsulatie is een principe van objectgeoriënteerd programmeren dat inhoudt dat de interne toestand van een object wordt verborgen en dat toegang daartoe alleen via methoden (interface) wordt verleend.

In Go wordt encapsulatie bereikt door de zichtbaarheid van identifiers:

  • Namen die beginnen met een hoofdletter worden geëxporteerd en zijn toegankelijk vanuit andere pakketten (publiek).
  • Namen die beginnen met een kleine letter zijn alleen binnen het pakket toegankelijk (privé).

Om gegevens te encapsuleren, moeten de velden van de structuur worden gedeclareerd met een kleine letter en moeten methoden worden voorzien voor toegang en wijziging van deze velden.

Voorbeeld:

package user

type User struct {
    name string // privé veld
}

func NewUser(name string) *User {
    return &User{name: name}
}

func (u *User) GetName() string {
    return u.name
}

func (u *User) SetName(name string) {
    u.name = name
}

Deze aanpak maakt het mogelijk om toegang tot gegevens te controleren, hun integriteit te waarborgen en de interne implementatie te wijzigen zonder invloed op de externe code.