12 - Práctica 2: app de productividad con Programación Orientada a Objetos

Lección 12 del curso Python Nivel Avanzado.

Introducción

En la lección anterior vimos cómo controlar el acceso a los atributos de un objeto en Python usando lo que se conoce como las “propiedades”.

Así que es el momento de poner en práctica todo lo que hemos aprendido hasta este punto del curso para resolver un problema real.

Entonces en esta segunda práctica implementaremos una pequeña aplicación que funcionará como administrador de tareas, que permitirá al usuario crear, modificar y visualizar el listado de actividades que debe realizar diariamente, para lo cual usaremos las herramientas de Programación Orientada a Objetos, de manejo de excepciones y de procesamiento de archivos vistas hasta el momento.

Suscríbete y accede al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Descripción de la app

En esta práctica implementaremos una pequeña aplicación que funcionará como administrador de tareas, que permitirá al usuario crear, modificar y visualizar el listado de actividades que debe realizar diariamente, así como agregar y eliminar tareas cuantas veces quiera.

Requerimientos del administrador de tareas: el problema a resolver

La idea es desarrollar un aplicativo de productividad en Python que implemente un administrador de tareas. Este administrador debe cumplir estos requerimientos:

Además, la aplicación debe ser lo suficientemente robusta como para manejar errores durante la interacción con el usuario.

Diseño de la app

Antes de implementar el código debemos determinar si la Programación Orientada a Objetos es el enfoque más adecuado. Observemos que tendremos:

Como vemos, “Tareas”, “Administrador” y “Aplicación” contendrán tanto datos como acciones e interactuarán entre sí, lo que hace que la Programación Orientada a Objetos sea el enfoque ideal.

Implementación de la clase “Tarea”

Comenzaremos por el objeto más sencillo de todos: Tarea. Luego este objeto interactuará como tal con las clases administrador y aplicacion.

Sus atributos serán:

Sus métodos serán:

Implementación de la clase “Administrador”

Este objeto permitirá almacenar varias tareas además de agregar/eliminar/modificar y mostrar el detalle de una tarea en particular.

Sus atributos serán:

Sus métodos serán:

Implementación de la clase “Aplicación”

Este objeto permitirá la interacción entre el usuario y el administrador de tareas. Además contendrá una pequeña base de datos con el listado de tareas y que se actualizará en cada sesión.

Para la interacción usuario-aplicación implementaremos una interfaz de texto que de entrada contendrá este menú de opciones:

(1) Mostrar el administrador de tareas (2) Agregar tarea (3) Actualizar tarea (4) Eliminar tarea (5) Ver detalle de una tarea (6) Salir

La aplicación se mantendrá en un ciclo while de duración infinita, del cual saldremos únicamente si escogemos la opción 6.

Los atributos de esta clase serán:

Los métodos serán:

Etapa de producción

Habiendo desarrollado nuestro aplicativo lo único que nos resta es crear un script de Python (administrador_tareas.py) que permitirá su fácil ejecución desde el Terminal de Mac o la ventana de comandos en Windows.

Recuerda suscribirte para acceder al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Muy bien, con esta práctica hemos visto el potencial que tiene la Programación Orientada a Objetos que nos ha permitido implementar una aplicación bastante versátil y sofisticada.

En lo que queda de esta sección continuaremos revisando algunos elementos específicos de la Programación Orientada a Objetos, comenzando con la próxima lección en donde hablaremos del concepto de herencia.

Ver todas las lecciones de este curso