Saltar a contenido

U4 · Programación orientada a objetos

Leer el resumen

En esta unidad pasas del código suelto a la programación orientada a objetos. Una clase es un molde, y un objeto es cada cosa creada con ese molde. Cada clase tiene atributos, que son sus datos, y métodos, que son lo que sabe hacer. Aprenderás a crear objetos con constructores, a validar los datos al crearlos, y a proteger los atributos con el encapsulamiento, para que nadie los cambie de cualquier manera. También guardarás colecciones de objetos. Y terminas con un proyecto propio.

Pasar del código suelto a clases y objetos: atributos, métodos, constructores, validación, encapsulamiento y colecciones de objetos. Termina con un proyecto personal o en grupo.

Teoría

Antes de empezar: qué debes dominar

  • Clase, objeto, atributo y método.
  • Constructores (principal y alternativos) y valores por defecto.
  • Encapsulamiento: visibilidad y propiedades de solo lectura.
  • Enumerados, sobrecarga y toString/igualdad.
  • Colecciones de objetos y validación con excepciones.

Ejercicios de la unidad

Bloque Ejercicios
U4.1 · Repaso de las unidades 1 a 3 1
U4.2 · POO I (ejercicios 1 al 5) 5
U4.3 · POO II (ejercicios 6 al 10) 5
U4.4 · Robots (parte 1) 2
U4.5 · Robots (parte 2 y reto) 1
U4.6 · Prueba: Cafetera y Taza 2
U4.7 · Juego del ahorcado (grupos) 1
U4.8 · Cambio de rol: explícamelo tú (grupos) 2

Equivalencias de POO en Python

Idea En Python
Constructor def __init__(self, ...) (solo uno; varias formas con valores por defecto o @classmethod)
Propiedad calculada de solo lectura @property def imc(self): ...
Privado por convención, nombre que empieza por _
Validar al crear raise ValueError(...) en __init__
Herencia class B(A):, con super().__init__(...)
Clase abstracta from abc import ABC, abstractmethod
Enumerado from enum import Enum
Datos con igualdad por valor @dataclass (módulo dataclasses)
Parámetro por defecto def agregar(self, cantidad=200)
Representación en texto __str__
Igualdad __eq__

Antes de pasar a los ejercicios

Cuando hayas leído y practicado la teoría, marca la casilla para desbloquear los ejercicios de esta unidad: