Junior — Middle
Vysvětlete koncept zapouzdření dat v objektově orientovaném programování.
sobes.tech AI
Odpověď od AI
Zapouzdření je princip objektově orientovaného programování, který předpokládá skrytí vnitřního stavu objektu a poskytování přístupu k němu pouze prostřednictvím metod (rozhraní).
V jazyce Go je zapouzdření dosaženo pomocí viditelnosti identifikátorů:
- Jména začínající velkým písmenem jsou exportována a jsou dostupná z jiných balíčků (veřejná).
- Jména začínající malým písmenem jsou dostupná pouze uvnitř balíčku (soukromá).
Pro zapouzdření dat je třeba deklarovat pole struktury malým písmenem a poskytnout metody pro přístup a změnu těchto polí.
Příklad:
package user
type User struct {
name string // soukromé 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 přístup umožňuje kontrolovat přístup k datům, zajišťovat jejich integritu a měnit interní implementaci bez vlivu na externí kód.