Saltar a contenido

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 Perro puede heredar de Animal (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.

Código fuente

courses/python-course/02 - POO/