Sobes.tech
Junior — Middle

Môžete vysvetliť princíp zapuzdrenia a ako sa realizuje v objektovo orientovanom programovaní?

sobes.tech AI

Odpoveď od AI

Zapúzdrenie je princíp objektovo orientovaného programovania, ktorý zahŕňa skrytie vnútornej implementácie objektu a poskytovanie prístupu k údajom a metódam iba prostredníctvom definovaného rozhrania.

Toto umožňuje:

  • Chrániť údaje pred nesprávnym použitím
  • Skryť zložitosť implementácie
  • Zabezpečiť kontrolu nad zmenou stavu objektu

V jazykoch OOP je zapúzdrenie realizované pomocou modifikátorov prístupu (napríklad private, protected, public), ktoré určujú, ktoré polia a metódy sú dostupné zvonku.

Príklad v Go (kde je zapúzdrenie dosiahnuté pomocou exportovaných a neexportovaných identifikátorov):

type User struct {
    name string // neexportované pole, dostupné iba v rámci balíka
}

func (u *User) GetName() string {
    return u.name // verejná metóda na prístup k menu
}

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

Tu je pole name skryté pred vonkajším prístupom a s ním sa komunikuje prostredníctvom metód GetName a SetName, ktoré riadia logiku prístupu a zmeny.