Ejemplo 04 - Ciclo de resolución de un problema - Diseño

Descripción

El diseño presenta las características, decisiones importantes y estructura de una solución que satisfaga el problema planteado.

Por lo tanto para solucionar el problema se deben crear dos clase que se llamarán la clase Loro y la clase PruebaLoro.

El Loro pertenece a una clase que tiene como atributo el nombre (todo loro puede tener un nombre) Un Loro recién creado tendrá siempre el nombre "Silvestre"

El Loro puede llevar a cabo la acción de "hablar". Al hablar el loro presenta en pantalla un saludo que dice "Hola" y dice " me llamo" y da su nombre.

Además el nombre de un Loro puede cambiar si el mismo se llega a "bautizar" por lo que esta es otra acción asociada al mismo, para bautizar un loro se debe recibir el nombre de pila que se le quire asignar.

La otra clase que va a crear una instancia de Loro se llamará PruebaLoro ya que es la que prueba que con la clase Loro se pueden crear Loros y experimienta con los métodos del mismo para verificar que funciona correctamente. La clase PruebaLoro necesita utilizar la clase Loro.

El método principal o main (ubicado en PruebaLoro.java) es el punto de inicio de la ejecución de cualquier programa, este caso se utiliza para crear una instancia de Loro, y pedirle que lleve a cabo las acciones que se identificaron en el analisis y que ahora proporciona la clase Loro. Específicamente el método main le pedirá a esta instancia de unLoro que hable, en cuyo caso el loro debe decir que su nombre es "Silvestre". Posteriormente, el loro es bautizado con el nombre "Pepito", el mismo guarda este nombre y finalmente, cuando se le pide que hable, dice que su nombre es "Pepito".

Diagrama de clases

El siguiente diagrama muestra la estructura del diseño de la solución planteada. Cada método lleva a cabo lo indicado en la explicación anterior.

Si se utiliza el generador de documentación javadoc (opción ubicada en el Dr.Java bajo la categoría Tools) se puede generar automáticamente una especificación similar a la siguiete. En la especificación se debe describir en detalle las responsabilidades de cada clase, cada método y cada atributo.

Ver especificación de clases y métodos.