Practica 7: Manejando Contactos y Agenda
Objetivo
El objetivo de esta práctica es aprender a manejar contactos y una agenda utilizando la programación orientada a objetos en Python. Se espera que los estudiantes sean capaces de crear, modificar y eliminar contactos, así como gestionar una agenda de manera eficiente, todo mediante archivos de texto con Java.
Actividades
Crear una clase Contacto: Definir una clase
Contactoque contenga los siguientes atributos:Nombre
Apellido
Teléfono
Correo electrónico
Crear una clase Agenda: Definir una clase
Agendaque contenga una lista de contactos y los siguientes métodos:agregarContacto(contacto): Agregar un nuevo contacto a la agenda.eliminarContacto(nombre): Eliminar un contacto de la agenda por su nombre.buscarContacto(nombre): Buscar un contacto por su nombre y mostrar sus detalles.listarContactos(): Listar todos los contactos en la agenda.
Guardar y cargar contactos: Implementar métodos para guardar la agenda en un archivo de texto y cargarla desde un archivo de texto.
Desarrollo
Para efecto de esta práctica, se utilizará un archivo de texto para almacenar los contactos. Cada contacto se guardará en una línea del archivo con el siguiente formato:
Así mismo, la resolución de la práctica será tomando como base el paquete com.example.agenda.
Paso 1: Crear la clase Contacto
Para nuestra clase Contacto, definimos los atributos y un método para mostrar la información del contacto.
Como podemos ver, la clase Contacto tiene un constructor que inicializa los atributos y métodos get para acceder a ellos. El método toString se utiliza para mostrar la información del contacto de manera legible.
Paso 2: Crear la clase Agenda
Ahora creamos la clase Agenda, que contendrá una lista de contactos y los métodos necesarios para gestionar la agenda.
Paso 3: Probar la aplicación
Para probar la aplicación, puedes ejecutar el método main de la clase Agenda. Este método crea una agenda, agrega contactos, busca, elimina y lista los contactos. También guarda la agenda en un archivo de texto y la carga desde otro archivo de texto. Asegúrate de tener los archivos agenda.txt y agenda_ejemplo.txt en la misma carpeta que tu código fuente para qué la carga y guardado funcionen correctamente.
Conclusión
En esta práctica, hemos aprendido a manejar contactos y una agenda utilizando la programación orientada a objetos en Java. Hemos creado una clase Contacto para representar un contacto y una clase Agenda para gestionar una lista de contactos. También hemos implementado métodos para agregar, eliminar, buscar y listar contactos, así como guardar y cargar la agenda desde archivos de texto. Esta práctica es un buen ejercicio para familiarizarse con la programación orientada a objetos y la manipulación de archivos en Java.
Entrega
Entrega el código fuente de tu proyecto en formato comprimido (zip o rar).
Crea un archivo con portada que contenga los datos de identificación de los miembros del equipo, el nombre de la práctica y la fecha de entrega.
Se incluyen capturas de pantalla de la ejecución de la práctica, mostrando la funcionalidad de agregar, eliminar, buscar y listar contactos, así como guardar y cargar la agenda desde archivos de texto.
Los archivos de texto utilizados para guardar y cargar la agenda deben estar incluidos en la entrega.
Asegúrate de que el código esté bien comentado y siga las convenciones de estilo de Java.
Criterio de evaluación
Criterio | Descripción | Puntuación |
|---|---|---|
Código | El código está bien estructurado y sigue las convenciones de Java. | 20% |
Funcionalidad | La agenda permite agregar, eliminar, buscar y listar contactos. (Ejemplo visible en las evidencias) | 30% |
Manejo de archivos | La agenda guarda y carga contactos desde archivos de texto. | 20% |
Portada | La portada contiene la información requerida. | 10% |
Capturas de pantalla | Se incluyen capturas de pantalla de la ejecución de la práctica. | 20% |
Total | 100% |
Fecha de entrega
La fecha de entrega es el día 16 de abril de 2025 a las 23:59 horas. Entregas posteriores serán calificadas sobre el 70% de la puntuación total.