02 · POO¶
Programación Orientada a Objetos — organizar el código en torno a cosas en lugar de pasos.
Lo que aprenderás¶
- Clases y objetos — una clase es un plano (ej. "Auto"); un objeto es una cosa construida con ese plano (tu Tesla rojo específico).
- Atributos (datos que el objeto guarda) y métodos (cosas que el objeto sabe hacer).
- Encapsulación — ocultar el estado interno y exponer una interfaz controlada.
- Herencia — una clase
Perropuede heredar deAnimal(obtiene todo el comportamiento animal + lo propio). - Polimorfismo — distintos objetos responden al mismo mensaje cada uno a su manera.
- Métodos especiales —
__init__,__str__,__repr__,__eq__.
Analogía sencilla¶
Una clase es como un cortador de galletas; los objetos son las galletas. Todas comparten la forma (la clase), pero cada galleta puede tener su propio glaseado (atributos) y sus propias mordidas (cambios de estado en el tiempo).
Cuándo usar POO vs solo funciones¶
- Datos y comportamiento se agrupan de forma natural → clase.
- Transformación sin estado → función.
- Muchas cosas similares con comportamiento compartido → jerarquía de clases.