Junior — Middle
Explique el concepto de encapsulación de datos en la programación orientada a objetos.
sobes.tech AI
Respuesta de la IA
La encapsulación es un principio de la programación orientada a objetos que implica ocultar el estado interno de un objeto y proporcionar acceso a él solo a través de métodos (interfaz).
En Go, la encapsulación se logra mediante la visibilidad de los identificadores:
- Los nombres que comienzan con una letra mayúscula se exportan y están disponibles desde otros paquetes (públicos).
- Los nombres que comienzan con una letra minúscula solo están disponibles dentro del paquete (privados).
Por lo tanto, para encapsular datos, se deben declarar los campos de la estructura con una letra minúscula y proporcionar métodos para acceder y modificar estos campos.
Ejemplo:
package user
type User struct {
name string // campo privado
}
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
}
Este enfoque permite controlar el acceso a los datos, garantizar su integridad y cambiar la implementación interna sin afectar el código externo.