Junior — Middle
Puteți explica principiul încapsulării și cum se realizează în programarea orientată pe obiecte?
sobes.tech AI
Răspuns de la AI
Încapsularea este un principiu al programării orientate pe obiecte care implică ascunderea implementării interne a unui obiect și furnizarea accesului la date și metode doar printr-o interfață definită.
Aceasta permite:
- Protejarea datelor împotriva utilizării incorecte
- Ascunderea complexității implementării
- Asigurarea controlului asupra modificării stării obiectului
În limbajele OOP, încapsularea se realizează prin intermediul modificatorilor de acces (de exemplu, private, protected, public), care determină ce câmpuri și metode sunt accesibile din exterior.
Exemplu în Go (unde încapsularea se atinge prin identificatori exportați și non-exportați):
type User struct {
name string // câmp non-exportat, accesibil doar în pachet
}
func (u *User) GetName() string {
return u.name // metodă publică pentru accesarea numelui
}
func (u *User) SetName(newName string) {
if newName != "" {
u.name = newName
}
}
Aici, câmpul name este ascuns de accesul extern, iar interacțiunea cu el se face prin metodele GetName și SetName, care controlează logica de acces și modificare.