Píldora TAI XLVI; Introducción a la Programación Orientada a Objetos (POO)

🧠 ¿Qué es la Programación Orientada a Objetos (POO)?

La POO es un paradigma de programación basado en objetos.
Estos objetos simulan cosas del mundo real: tienen características (atributos) y comportamientos (métodos).


🔍 Características principales de la POO:

Característica¿Qué significa?Ejemplo visual
ClasesMolde o plantilla para crear objetos🧁 Molde de magdalenas
ObjetosInstancia de una clase🧁 Una magdalena hecha con ese molde
EncapsulamientoOculta los detalles internos, solo se expone lo necesario🎁 Caja cerrada con un botón externo
HerenciaReutiliza código de una clase “padre” en una “hija”👨‍👩‍👧 Una hija hereda cosas de sus padres
PolimorfismoUn mismo método puede comportarse distinto según el objeto🧑‍🍳 Cocinar() puede significar freír o hornear
AbstracciónOcultas lo complejo y muestras lo esencial🚗 Puedes conducir sin saber cómo funciona el motor

📦 Ejemplo práctico (en pseudocódigo o Python)

python# Clase
class Animal:
def __init__(self, nombre):
self.nombre = nombre

def hablar(self):
print("Hace un sonido")

# Herencia
class Perro(Animal):
def hablar(self):
print("Guau")

class Gato(Animal):
def hablar(self):
print("Miau")

# Objetos
mi_perro = Perro("Toby")
mi_gato = Gato("Luna")

mi_perro.hablar() # Guau
mi_gato.hablar() # Miau

🎨 Visualmente:

scss[ Clase Animal ]
├── nombre
└── hablar()

↑ Herencia

[ Clase Perro ] [ Clase Gato ]
└── hablar() (Guau) └── hablar() (Miau)

↓ Objetos creados
🐶 Toby 🐱 Luna

🔤 Tipos de clases en POO

TipoDescripción
Clases concretasSe pueden instanciar (como Perro)
Clases abstractasSolo sirven como base, no se instancian directamente
InterfacesDefinen métodos que deben implementar otras clases

💻 Lenguajes que usan POO (algunos interpretados):

Lenguaje¿Interpretado?POO soportada
Python✅ Sí✅ Sí (muy usado en POO)
JavaScript✅ Sí✅ Sí (con clases y prototipos)
Java❌ No (compilado)✅ Sí (muy estricto en POO)
Ruby✅ Sí✅ Muy orientado a objetos
PHP✅ Sí✅ Sí (POO muy usada en frameworks web)

📌 Diferencia: Interpretado vs Compilado

Tipo¿Qué hace el programa?Ejemplos
InterpretadoSe ejecuta línea a líneaPython, JavaScript, PHP
CompiladoSe transforma primero a un archivo ejecutableJava, C++, C#

✅ Resumen visual rápido:

markdown        POO
┌────┐
│Clase│ ← Molde
└─┬───┘

┌────────┐
│Objeto │ ← Ejemplo concreto
└────────┘

Características: Encapsulamiento, Herencia, Polimorfismo, Abstracción

Lenguajes: Python, JS, Java, Ruby, PHP…

Deja un comentario