Sobes.tech
Junior — Middle

Vysvetlite koncept zapuzdrenia dát v objektovo orientovanom programovaní.

sobes.tech AI

Odpoveď od AI

Zapúzdrenie je princíp objektovo orientovaného programovania, ktorý predpokladá skrytie vnútorného stavu objektu a poskytovanie prístupu k nemu len prostredníctvom metód (rozhraní).

V jazyku Go je zapúzdrenie dosiahnuté pomocou viditeľnosti identifikátorov:

  • Mená začínajúce veľkým písmenom sú exportované a sú dostupné z iných balíkov (verejné).
  • Mená začínajúce malým písmenom sú dostupné len v rámci balíka (súkromné).

Pre zapúzdrenie dát je potrebné deklarovať polia štruktúry malým písmenom a poskytnúť metódy na prístup a zmenu týchto polí.

Príklad:

package user

type User struct {
    name string // súkromné pole
}

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
}

Tento prístup umožňuje kontrolu prístupu k dátam, zabezpečuje ich integritu a meniť vnútornú implementáciu bez vplyvu na externý kód.