Programación Orientada a Objetos en Python¶
Material de referencia para la materia Estructuras de Datos y Programación — ITBA.
Está orientado a estudiantes que ya programan en Python y quieren incorporar el paradigma orientado a objetos.
Bienvenidos a este viaje de aprendizaje. ¡Vamos a construir software mejor, más robusto y mantenible juntos!. La programación orientada a objetos es una forma de pensar y organizar el código que refleja cómo percibimos el mundo: como un conjunto de objetos con atributos y comportamientos. Es un paradigma poderoso que, cuando se aplica correctamente, puede mejorar la calidad y la escalabilidad de nuestros programas.
No es facil dominar la POO de un día para el otro, pero con práctica y paciencia, vas a poder diseñar sistemas complejos de forma más intuitiva y eficiente. Este material te guiará paso a paso desde los conceptos básicos hasta las mejores prácticas de diseño orientado a objetos en Python.
Prerequisitos¶
- Python 3.10 o superior.
- Conocimientos básicos de Python: variables, funciones,
if,fory listas.
¿Qué vas a aprender?¶
- Qué es un paradigma de programación y cómo se diferencia el estructurado del orientado a objetos
- Qué es la POO y por qué surgió
- Cómo pensar en términos de objetos: abstracción, encapsulamiento, modularidad y jerarquía
- Qué son el acoplamiento y la cohesión, y por qué importan en el diseño
- Los cinco principios SOLID y cómo aplicarlos en Python
- Cómo manejar errores con excepciones, incluyendo excepciones personalizadas
- Cómo escribir tests unitarios para clases con
pytest
Referencias¶
- Grady Booch — Object-Oriented Analysis and Design with Applications
- Bertrand Meyer — Object-Oriented Software Construction
- Alan Kay — diseñador de Smalltalk, padre del término "OOP"
- Martin Fowler — Refactoring: Improving the Design of Existing Code
- Robert C. Martin — Clean Code / Agile Software Development (SOLID)