2. Abstracción (Ocultar la fontanería)3. Herencia (No te repitas - DRY)4. Polimorfismo (Mismo mensaje, distinta respuesta)

 

2. Abstracción (Ocultar la fontanería)

Es mostrar únicamente los detalles esenciales al usuario u otros programadores, ocultando la tremenda complejidad técnica detrás de una interfaz sencilla y amigable.

Metáfora del Mundo Real:Cuando conduces un coche, solo pisas el pedal del acelerador. No necesitas controlar manualmente la inyección de combustible, el flujo de aire o la chispa de los pistones.
Interfaz de Usuario Simplificada:
Presiona el botón para ver la abstracción en acción.
Implementación Canónica en Python
class CafeteraAutomatica:
    def preparar_espresso(self):
        # El usuario solo llama a este método simple:
        self._calentar_agua()
        self._moler_granos()
        self._bombear_presion(15)
        return "☕ ¡Delicioso café listo!"

    def _calentar_agua(self):
        # Complejidad interna oculta...
        pas

3. Herencia (No te repitas - DRY)

Permite que una nueva clase (Clase Hija) herede todos los atributos y métodos de una clase existente (Clase Padre), agregando o modificando solo lo que necesite.

Metáfora del Mundo Real:Un 'Vehículo Eléctrico' es un tipo de 'Vehículo'. Tiene ruedas y volante (heredados), pero añade una batería de litio y frenada regenerativa.
Jerarquía: Perro -> hereda de Animal:
Selecciona un método para probar la herencia.
Implementación Canónica en Python
class Animal:
    def __init__(self, nombre):
        self.nombre = nombre
    
    def respirar(self):
        return f"{self.nombre} respira oxígeno."

# Perro hereda de Animal
class Perro(Animal):
    def ladrar(self):
        return "¡Guau guau!"

4. Polimorfismo (Mismo mensaje, distinta respuesta)

Significa 'muchas formas'. Es la capacidad de invocar el mismo nombre de método en diferentes objetos, y que cada uno responda de acuerdo a su propia naturaleza sin romper el programa.

Metáfora del Mundo Real:El botón 'Reproducir' (Play) en tu teclado funciona igual si estás en Spotify, YouTube o un reproductor de audio, aunque internamente cada app hace algo distinto.
Polimorfismo en bucle uniforme:
Pulsa para enviar el mismo mensaje a distintos objetos.
Implementación Canónica en Python
class Pato:
    def hacer_sonido(self):
        return "¡Cuac cuac!"

class Gato:
    def hacer_sonido(self):
        return "¡Miau!"

# Tratamos a todos por igual en un bucle:
for animal in [Pato(), Gato()]:
    print(animal.hacer_sonido())

POO en Python

Comprensión Conceptual & Visual

Python 3.x

Laboratorio de Clases: Coche Deportivo

Interactúa con el coche en tiempo real. Observa cómo cambian sus variables y cómo se genera el código Python correspondiente.

MotorApagado
Velocidad0 km/h
Combustible100%
Cambiar color (coche.color = ...):
Resultado:Tanque lleno al 100%.
Código Python Equivalente
# 1. Creación del objeto (Instancia)
mi_auto = Coche(modelo="Deportivo GT", color="Índigo")

# 2. Historial de llamadas:
mi_auto.acelerar()  # self.velocidad = 240
mi_auto.repostar()  # self.combustible = 100
mi_auto.repostar()  # self.combustible = 100
mi_auto.repostar()  # self.combustible = 100
Nota Didáctica:Observa que al llamar a mi_auto.acelerar(), la función no necesita recibir la velocidad como parámetro: ya sabe leer y modificar su propio atributo interno self.velocidad.

Entradas populares de este blog

BLOQUE 5_Páginas de IA generativa de video (gratis y sin pagar) para 4º ESO IA artificial_Inteligencia artificial

GrÁfico de lineas, google colab o jupyter ,GRÁFICO DE DISPERSIÓN Y DETECCIÓN DE PROFUNDIDAD, NOTEBOOK, PÍDELE A TU IA FAVORITA,