Frogames Python Expert
Cursos Premium

¿Cuándo Usar Clases?

No todo necesita ser una clase. La clave de un buen programador es saber cuándo la POO añade valor y cuándo añade complejidad innecesaria.

1. La Regla Fundamental

Principio: Usa una Clase cuando necesitas gestionar estado (datos que cambian con el tiempo) y comportamiento (acciones) asociados a la misma entidad. Si solo necesitas transformar datos de entrada en salida, una función es suficiente.

2. Cuándo SÍ Usar Clases

Estado persistente

El objeto necesita recordar datos entre llamadas. Un historial de chat, el saldo de una cuenta, el estado de una conexión.

Múltiples instancias

Necesitas crear muchas entidades del mismo tipo con datos distintos: 100 usuarios, 50 agentes, 10 conexiones de DB.

Jerarquías lógicas

Tu dominio tiene relaciones "ES UN": AgenteDeVentas ES UN Agente. Cachorro ES UN Animal. La herencia tiene sentido.

Encapsulación

Quieres ocultar la complejidad interna y exponer solo una interfaz limpia. El usuario usa tu clase sin saber cómo funciona por dentro.

3. Cuándo NO Usar Clases

Si tu necesidad es... Mejor alternativa
Transformar datos de entrada en salida Función
Agrupar datos relacionados (sin métodos) Diccionario o dataclass
Ejecutar una tarea de principio a fin, sin estado Función simple
Script de automatización de una sola vez Script con funciones

4. Ejemplo Real: Clase vs Función

Usa una función:

# No hay estado, solo transformación
def celsius_a_fahrenheit(c):
    return c * 1.8 + 32

# Correcto: no necesita una clase
print(celsius_a_fahrenheit(100))  # 212

Usa una clase:

# Hay estado (historial) + múltiples instancias
class ConvertidorDeMoneda:
    def __init__(self, divisa_base):
        self.divisa_base = divisa_base
        self.historial = []

    def convertir(self, cantidad, tasa):
        resultado = cantidad * tasa
        self.historial.append(resultado)
        return resultado

Fase 3 completada. Eres un programador modular.

Ahora conecta tu código con el mundo real. En la Fase 4 aprenderás APIs, Git y todas las herramientas del desarrollador moderno.

Ver ahora