Tarea #1 Para el blog, de Algoritmos y Programación III (Universidad Católica Andrés Bello)
El enunciado del ejercicio es el siguiente:
Steve es un amante de los animales, pero a la vez un geek de la programación. El colecciona arañas, gatos y peces y ha decidido hacer un pequeño sistema para poder manejar su colección de animales. Para ello ha podido generar la siguiente información:
Las arañas, gatos y peces son animales. Todo animal tiene un número de patas (8, 4 y O respectivamente). Por lo general un animal puede caminar y comer, aunque evidentemente cada uno de ellos lo hace de forma diferente (los peces por ejemplo, no caminan). A los gatos y a los peces por lo general se les da un nombre y ambos son mascotas (a las arañas no importa darles un nombre y mucha gente considera que no son mascotas). Por cada mascota se desea poder darle un nombre, saber cual es ese nombre y jugar con él, aunque no todos los animales juegan de la misma manera.
¿Puedes tratar de generar un diagrama de clases en UML que permita darle solución a la información suministrada por Steve?. Recuerda que él puede tener varios animales.
Mi solución es la siguiente.
-Clase Fish:
La Cual tiene su atributo (nombre) ya que el enunciado especifica que toda mascota se le puede asignar uno. Manejo un constructor el cual manipulara el nombre y numero de patas del pescado, también podemos ver el Set and Get para poder visualizar u escribir el nombre del animal, el método eat y por último el método para jugar.
-Clase Cat:
Exactamente a nuestra anterior clase no hay mayores cambios.
-Clase Spider:
En esta clase podemos observar que solamente tiene su constructor y el método eat, ya que como lo dice el enunciado a las Arañas no se les considera mascotas por lo tanto no se les asigna un nombre.
-Clase Pet:
Nuestras clases bases (pet y fish) implementan esta clase para obtener/fijar el nombre de una mascota o jugar.
-Clase Animal:
Es la generalización de nuestras clases bases tanto pet, fish como spider son animales y esta clase tiene los métodos respectivos para caminar y comer.
-Clase ListAnimal
Una clase controladora, donde podemos borrar/agregar/modificar/buscar todos los animales de Steve.
Nota: Podemos ver la imagen en inglés ya que este semestre podemos decir que es un "Standard" en la materia.
No hay comentarios:
Publicar un comentario