Junior — Middle
Spiega il concetto di incapsulamento dei dati nella programmazione orientata agli oggetti.
sobes.tech AI
Risposta dell'AI
L'incapsulamento è un principio della programmazione orientata agli oggetti che implica nascondere lo stato interno di un oggetto e fornire l'accesso ad esso solo tramite metodi (interfacce).
In Go, l'incapsulamento si ottiene attraverso la visibilità degli identificatori:
- I nomi che iniziano con una lettera maiuscola vengono esportati e sono accessibili da altri pacchetti (pubblici).
- I nomi che iniziano con una lettera minuscola sono accessibili solo all'interno del pacchetto (privati).
Pertanto, per incapsulare i dati, bisogna dichiarare i campi della struttura con una lettera minuscola e fornire metodi per accedervi e modificarli.
Esempio:
package user
type User struct {
name string // campo privato
}
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
}
Questo approccio permette di controllare l'accesso ai dati, garantire la loro integrità e modificare l'implementazione interna senza influenzare il codice esterno.