Lección 12 del curso Python Nivel Avanzado.
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.
Comencemos entonces viendo los requerimientos y el diseño de esta «app»:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Lo que queremos desarrollar en esta práctica es una aplicación de productividad que funcione como un administrador de tareas.
Esta aplicación debe tener una interfaz tipo texto que permita al usuario visualizar, agregar, eliminar y modificar tareas, así como filtrarlas por categoría y ver información detallada de cada tarea.
Y para ello haremos uso de la Programación Orientada a Objetos debido a la naturaleza de las entidades involucradas: Tareas, Administrador y Aplicación, cada una con datos y acciones específicas que interactúan entre sí.
Además, la aplicación debe ser robusta para manejar errores durante la interacción con el usuario y debe estar en capacidad de almacenar la información de las tareas para futuras sesiones.
Teniendo claros estos elementos, veamos cómo realizar la implementación de la primera clase («Tarea»):
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Esta clase «Tarea» contiene atributos como descripción, categoría, detalles y estado de la tarea, así como métodos para modificar el estado y mostrar la información en pantalla.
La tarea podrá tener una descripción breve, una categoría para diferenciarla, detalles más extensos y un estado que puede ser pendiente (por defecto) o completado. Además, esta clase será fundamental en la interacción entre las clases «Administrador» y «Aplicación».
Veamos ahora cómo implementar la clase «Administrador»:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Esta clase «Administrador» es esencial para la gestión y manipulación eficiente de las tareas dentro del sistema y, además de almacenar múltiples tareas, proporciona funcionalidades para agregar, eliminar, modificar y mostrar detalles de las tareas.
Veamos ahora cómo implementar la clase «aplicación»:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Esta clase facilita la interacción entre el usuario y el administrador de tareas, además de mantener una pequeña base de datos actualizada con el listado de tareas.
La interfaz de texto que acabamos de construir le presenta al usuario un menú de opciones que le permitirán realizar diversas acciones como mostrar el administrador de tareas, agregar, actualizar, eliminar o ver detalles de una tarea, así como salir de la aplicación. Además, esta clase será fundamental para gestionar la interacción y funcionalidades del sistema de administración de tareas.
Así que habiendo implementado todas las clases 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. Veamos entonces esta última parte de la implementación:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
¡Muy bien! Acabamos de construir nuestra primera aplicación interactiva, que resulto siendo bastante versátil y sofisticada. Y esto nos ha permitido ver el potencial que tiene precisamente la Programación Orientada a Objetos.
Así que en lo que queda de este módulo 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.
Todas las lecciones del curso Python Nivel Avanzado
