Saltar al contenido
Logotipo de Trainontech Trainontech

Lenguajes y Fundamentos de Programación · PY-103

Programación orientada a objetos en Python

Clases, herencia y composición para proyectos que crecen sin volverse imposibles de tocar.

Disponible Intermedio 7 módulos · 30 clases

Formato asíncrono Desarrollo Python

Lo que aprenderás

  • Diseñar clases con atributos de instancia, métodos y constructor que representen entidades del dominio
  • Aplicar encapsulación con propiedades y validación en el momento de asignar un atributo
  • Construir jerarquías con herencia y sobrescritura de métodos sin duplicar lógica
  • Decidir entre herencia y composición ante un requisito nuevo y justificar la elección
  • Implementar métodos especiales como repr, eq y len para que los objetos se integren con el lenguaje
  • Definir interfaces con clases abstractas y comprobar que las subclases las cumplen
  • Refactorizar un script procedural extenso en un conjunto de clases con responsabilidades separadas

Contenido del curso

7 módulos · 30 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Del script a los objetos 4 clases
  • El proyecto de partida y sus problemas de mantenimiento
  • Qué resuelve la orientación a objetos y qué no
  • Objetos, clases e instancias en Python
  • Preparación del repositorio de trabajo
Módulo 2 · Clases y atributos 6 clases
  • Definición de clase y método constructor
  • Atributos de instancia frente a atributos de clase
  • Métodos y el parámetro self
  • Propiedades con getter y setter
  • Validación al asignar un atributo
  • Ejercicio: modelar una entidad del proyecto
Módulo 3 · Herencia 4 clases
  • Subclases y reutilización de comportamiento
  • Sobrescritura de métodos y llamada con super
  • Herencia múltiple y orden de resolución
  • Señales de que la jerarquía se está torciendo
Módulo 4 · Composición y delegación 4 clases
  • Tener frente a ser: el criterio práctico
  • Inyectar colaboradores por el constructor
  • Delegar responsabilidades a objetos auxiliares
  • Refactorizar una herencia forzada en composición
Módulo 5 · Métodos especiales y dataclasses 4 clases
  • repr y str para depurar con comodidad
  • Comparación e igualdad con eq y lt
  • Objetos iterables y contenedores
  • dataclasses para estructuras de datos con comportamiento
Módulo 6 · Abstracción e interfaces 4 clases
  • Clases abstractas con abc
  • Definir el contrato mínimo de una familia de clases
  • Duck typing y protocolos
  • Excepciones propias del dominio
Módulo 7 · Proyecto de cierre 4 clases
  • Refactorización completa del proyecto inicial
  • Reparto de responsabilidades entre clases
  • Incorporación de un requisito nuevo sin tocar lo anterior
  • Revisión del diseño final y deuda pendiente

Requisitos

  • Manejar funciones, listas, diccionarios y módulos de Python con soltura
  • Haber escrito algún programa de más de cien líneas y haber sufrido su mantenimiento
  • Entorno con Python instalado o cuaderno en el navegador

Descripción

Un script crece por acumulación: una función más, un parámetro más, una variable global que ya toca todo. Llega un punto en que cambiar algo rompe otra cosa lejana y nadie se atreve a tocarlo. La orientación a objetos no es un adorno académico, es la herramienta habitual para poner límites dentro del programa y saber qué parte es responsable de qué.

El curso parte de un proyecto procedural con problemas reales de mantenimiento y lo va convirtiendo en clases con responsabilidades claras. Se trabaja el constructor, las propiedades, la herencia y sus límites, la composición como alternativa frecuente, los métodos especiales y las clases abstractas. Cada decisión de diseño se toma delante de un requisito nuevo, no como ejercicio teórico.

El resultado es código que otra persona puede extender sin leerlo entero, porque cada clase declara de qué se ocupa y qué espera recibir. Esa disciplina es prerrequisito práctico para el testing automatizado, para trabajar con frameworks que esperan clases y para cualquier proyecto en equipo donde el código sobreviva a quien lo escribió y siga cambiando después.

¿Para quién es este curso?

  • Desarrolladores con Python procedural que mantienen scripts largos que ya cuesta modificar
  • Programadores que llegan de C o de lenguajes procedurales y necesitan el modelo de objetos de Python
  • Personas que van a entrar en un proyecto en equipo donde el código se revisa y se hereda
Disponible

Contenido ya grabado y publicado en el campus. Puedes empezar en cuanto te inscribas.

Código
PY-103
Nivel
Intermedio
Público
Desarrollo
Entorno
Python

Este curso incluye

  • 30 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

PY-104Lenguajes y Fundamentos de Programación

Ficheros, excepciones y módulos

Lectura y escritura robusta, gestión de errores e importaciones para código que otros mantendrán.

Python

Intermedio 32 clases

PY-108Lenguajes y Fundamentos de Programación

Python y bases de datos

Conexión, consultas parametrizadas y persistencia para aplicaciones de captura de datos.

PythonSQL

Intermedio 34 clases