Junior — Middle
Můžete vysvětlit princip zapouzdření a jak je realizován 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í implementace objektu a poskytování přístupu k datům a metodám pouze prostřednictvím definovaného rozhraní.
To umožňuje:
- Ochranu dat před nesprávným použitím
- Skrytí složitosti implementace
- Zajištění kontroly nad změnou stavu objektu
V jazycích OOP je zapouzdření realizováno pomocí modifikátorů přístupu (například private, protected, public), které určují, která pole a metody jsou dostupná zvenčí.
Příklad v Go (kde je zapouzdření dosaženo pomocí exportovaných a neexportovaných identifikátorů):
type User struct {
name string // neexportované pole, dostupné pouze v rámci balíčku
}
func (u *User) GetName() string {
return u.name // veřejná metoda pro přístup k jménu
}
func (u *User) SetName(newName string) {
if newName != "" {
u.name = newName
}
}
Zde je pole name skryto před vnějším přístupem a s ním se komunikuje prostřednictvím metod GetName a SetName, které řídí logiku přístupu a změn.