Encapsulamiento en Python: qué es, para qué sirve y ejemplo práctico

Dale amor a este post!!!

🛡️ ¿Qué es el encapsulamiento en Python?

El encapsulamiento es un principio fundamental de la Programación Orientada a Objetos que consiste en proteger los datos de un objeto para que no puedan ser modificados directamente desde fuera de la clase.

📦 Definición sencilla:

El encapsulamiento permite ocultar el estado interno de un objeto y controlar el acceso a sus atributos mediante métodos especiales, como getters y setters.

🧩 Ejemplo de la vida real:

Piensa en una caja fuerte: tú no puedes acceder directamente al contenido, necesitas una clave o interfaz autorizada (como un botón o combinación).

🐍 Ejemplo de encapsulamiento en Python

class Persona:
    def __init__(self, nombre, edad):
        self.nombre = nombre
        self.__edad = edad  # atributo privado

    def obtener_edad(self):  # getter
        return self.__edad

    def establecer_edad(self, nueva_edad):  # setter
        if nueva_edad > 0:
            self.__edad = nueva_edad

🔍 ¿Qué hace este código?

  • __edad: Atributo privado, no accesible directamente (persona.__edad dará error).
  • obtener_edad: Método getter, devuelve la edad.
  • establecer_edad: Método setter, permite cambiar la edad con validación.

📘 Utilización

persona = Persona("Carlos", 30)
print("La edad de la persona es: ",persona.obtener_edad()) # 30
persona.establecer_edad(35)
print("La edad de la persona es: ",persona.obtener_edad()) # 35

📝 Salida

La edad de la persona es: 30
La edad de la persona es: 35

🎯 ¿Para qué sirve el encapsulamiento?

  • Protege los datos de accesos indebidos.
  • Evita errores y asegura consistencia en los valores.
  • Facilita el mantenimiento del código al controlar cómo se accede y modifica un atributo.

Conclusión

El encapsulamiento en Python es clave para mantener tu código seguro, limpio y controlado. Al proteger los atributos de acceso directo y usar métodos para modificarlos, garantizas que los datos de tus objetos sean tratados de forma coherente y segura. Es una forma inteligente de prevenir errores y mantener tu programa en orden, especialmente en proyectos grandes o colaborativos.


Dale amor a este post!!!