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.