CodeForge

Python de Cero a Experto / POO

Clases y objetos

Teoría22 min20 XP

Hasta ahora tus datos (un gasto) y tu lógica (calcular su IVA) vivían separados: un diccionario por aquí, una función por allá. La PROGRAMACIÓN ORIENTADA A OBJETOS (POO) los une: un OBJETO junta los DATOS y el COMPORTAMIENTO de una "cosa" en una sola pieza. Una CLASE es el molde para crear esos objetos. Es la forma de modelar el mundo —un gasto, un usuario, una cuenta— y la base de casi todo software grande. Hoy creas tus primeras clases.

El molde y las galletas

Definir una clase y crear objetos

class Gasto: define el molde. El método __init__ (el CONSTRUCTOR) se ejecuta automáticamente cada vez que creas un objeto, y ahí guardas los datos iniciales en self. Creas un objeto llamando a la clase como si fuera una función: Gasto("Café", 4000). Cada objeto lleva SUS propios datos (cafe.nombre es "Café", bus.nombre es "Bus") y responde a los métodos definidos (cafe.con_iva()). Un objeto = datos + comportamiento, juntos.

self y el constructor

¿Qué es una clase, qué hace __init__ y qué representa self?

Mini-reto

Crea tu primera clase para Mi Bolsillo: 1) define una clase Gasto con __init__ que reciba nombre, valor y categoria, guardándolos en self; 2) agrega un método con_iva(self) que devuelva el valor con IVA, y un método descripcion(self) que devuelva un f-string tipo "Café: 4,000 (comida)"; 3) crea dos o tres objetos Gasto distintos y llama a sus métodos. Comprueba que cada objeto tiene sus propios datos.

Qué sigue

Ya creas objetos con datos y comportamiento. La próxima lección profundiza en los ATRIBUTOS y MÉTODOS: la diferencia entre atributos de instancia (propios de cada objeto) y de clase (compartidos por todos), y cómo diseñar el comportamiento de tus objetos. La base para modelar cosas más ricas.