Junior — Middle
Explicați conceptul de încapsulare a datelor î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 stării interne a unui obiect și furnizarea accesului la aceasta doar prin metode (interfață).
În Go, încapsularea se realizează prin vizibilitatea identificatorilor:
- Numele care încep cu o literă majusculă sunt exportate și accesibile din alte pachete (publice).
- Numele care încep cu o literă minusculă sunt accesibile doar în interiorul pachetului (private).
Prin urmare, pentru a încapsula datele, trebuie să declarați câmpurile structurii cu o literă minusculă și să furnizați metode pentru accesarea și modificarea acestor câmpuri.
Exemplu:
package user
type User struct {
name string // câmp privat
}
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
}
Această abordare permite controlul accesului la date, asigurarea integrității lor și modificarea implementării interne fără a afecta codul extern.