# Clase 26 — Introducción a Programación Orientada a Objetos (POO) Primer contacto con clases y objetos. - **`class` y `__init__`**: cómo definir una clase propia y su constructor, que recibe los atributos iniciales del objeto. - **`__str__`**: método especial que define cómo se ve un objeto al imprimirlo con `print()`. - **Sobrecarga de operadores**: `clase Fraccion.py` define `__add__` para que el operador `+` sume dos fracciones directamente (`fraccion1 + fraccion2`), en vez de tener que llamar a un método con otro nombre. - **Métodos propios**: `clase Punto2d.py` define un método `distancia(self, other)` que calcula la distancia euclidiana entre dos puntos, mostrando cómo un objeto puede tener comportamientos además de atributos. Ejemplos: `clase Fraccion.py`, `clase Punto2d.py`.