Introducción

La POO no solo organiza el código en clases y objetos, también ofrece mecanismos para proteger atributos y redefinir métodos. Estos principios hacen que tu código sea más seguro, flexible y escalable.

Encapsulamiento

El encapsulamiento consiste en restringir el acceso directo a ciertos atributos o métodos de una clase. En Python se logra usando guiones bajos _ y propiedades.

Aquí __saldo no puede modificarse directamente desde fuera de la clase, solo mediante métodos controlados.

1. Definición de la clase

Aquí se define una clase llamada CuentaBancaria, que servirá como modelo para crear cuentas con saldo y operaciones básicas.

2. Constructor __init__

  • Este método se ejecuta automáticamente al crear una nueva cuenta.
  • El atributo __saldo tiene dos guiones bajos al inicio, lo que lo convierte en privado. 👉 Esto significa que no puede accederse directamente desde fuera de la clase (por ejemplo, cuenta.__saldo dará error).
  • Solo los métodos internos pueden modificarlo o leerlo.

3. Método depositar()

  • Suma la cantidad al saldo actual.
  • Usa el atributo privado __saldo internamente.

4. Método retirar()

  • Verifica si hay suficiente saldo antes de retirar.
  • Si no lo hay, muestra un mensaje de error.
  • Este control evita modificar el saldo de forma incorrecta.

5. Método mostrar_saldo()

  • Permite consultar el saldo sin acceder directamente al atributo privado.
  • Es la forma segura de obtener información de la cuenta.

Crear una instancia

Salida esperada:

Polimorfismo

El polimorfismo permite que diferentes clases usen el mismo método con comportamientos distintos.

Buenas prácticas

  • Usa atributos privados para proteger datos sensibles.
  • Proporciona métodos públicos para acceder o modificar esos datos.
  • Aprovecha el polimorfismo para escribir código más flexible y reutilizable.
  • Documenta claramente qué métodos deben ser sobrescritos en clases hijas.

Conclusión

El encapsulamiento protege tus datos y el polimorfismo da flexibilidad a tu código. Juntos, estos principios hacen que tus programas sean más robustos y fáciles de mantener.

Llamada a la acción:

Crea una clase Vehiculo con un método mover(). Luego, define clases hijas como Coche y Bicicleta que sobrescriban mover() con comportamientos distintos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *