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.