Junior — Middle
¿Puedes explicar el principio de encapsulación y cómo se implementa 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 la implementación interna de un objeto y proporcionar acceso a los datos y métodos solo a través de una interfaz definida.
Esto permite:
- Proteger los datos del uso incorrecto
- Ocultar la complejidad de la implementación
- Asegurar el control sobre el cambio del estado del objeto
En los lenguajes OOP, la encapsulación se realiza mediante modificadores de acceso (por ejemplo, private, protected, public), que determinan qué campos y métodos son accesibles desde fuera.
Ejemplo en Go (donde la encapsulación se logra mediante identificadores exportados y no exportados):
type User struct {
name string // campo no exportado, accesible solo dentro del paquete
}
func (u *User) GetName() string {
return u.name // método público para acceder al nombre
}
func (u *User) SetName(newName string) {
if newName != "" {
u.name = newName
}
}
Aquí, el campo name está oculto del acceso externo, y la interacción con él se realiza a través de los métodos GetName y SetName, que controlan la lógica de acceso y modificación.