Prácticas Java Uned
Prácticas Java Uned
1
Prácticas Java 2010
Índice
ETAPA 1......................................................................................................................................3
Introducción............................................................................................................................3
Diseño y Codificación.............................................................................................................3
ETAPA 2......................................................................................................................................4
Introducción............................................................................................................................4
Diseño y Codificación.............................................................................................................4
ETAPA 3......................................................................................................................................6
Introducción............................................................................................................................6
Diseño y Codificación.............................................................................................................6
2
Prácticas Java 2010
ETAPA 1
Introducción
En esta primera parte de la práctica se creará la clase Persona con todos sus atributos y
comportamientos. Se utilizará también una clase Main para lanzar la aplicación, la cual
contendrá el método estático main.
Diseño y Codificación
La clase Persona contiene los siguientes miembros:
Miembro Tipo Comentarios
nombre String Atributo
apellidos String Atributo
nif String Atributo
sexo String Atributo
añoNacimiento int Atributo
toString() Método Sobreescribe toString de Object
getEdad(int) Método Devuelve la edad a partir del año actual
Además para cada atributo se incorpora un método de acceso de lectura get y un método de
acceso de escritura set, todos ellos públicos. También se dispone de un constructor con
argumentos, un argumento para cada atributo de la clase, de modo que se pueden crear
instancias de esa clase (objetos Persona) mediante ese constructor, especificando valores
para todos sus atributos.
El método toString, sobreescrito de la clase Object, permite obtener un String en
representación del contenido del objeto, resulta útil para las salidas por consola a través del
método System.out.println, al cual le pasaremos un objeto de la clase Persona en lugar de un
String, la invocación a toString es automática.
3
Prácticas Java 2010
ETAPA 2
Introducción
En esta segunda parte de la práctica se trabajará con otros conceptos, como el de herencia y
asociación. Para ello se añadirán al modelo 2 nuevas clases, Cliente, clase hija de Persona y
GestorClientes, clase que permite trabajar con objetos de tipo Persona y Cliente. De nuevo
una clase Main contendrá el método ejecutable main.
Diseño y Codificación
La clase Cliente, que hereda de Persona, añade los siguientes miembros:
De nuevo se incorporan métodos de acceso get y set para cada atributo, excepto el método
de lectura get de puntos el cual no se incorpora al disponerse de un método consultarPuntos
que realiza el cálculo adicional del 10% sobre la antigüedad del Cliente.
Se sobreescribe también toString en la clase Cliente para añadir los valores de los atributos
que añade a Persona la clase Cliente.
Disponemos para Cliente de 2 constructores, uno que inicializa todos sus atributos y otro que
recibe como primer argumento un objeto Persona, el objetivo de este constructor es crear el
Cliente a partir de una Persona, de modo que reutiliza los valores de los atributos de Persona
para inicializar el Cliente.
La clase GestorClientes se encarga de gestionar todos los aspectos del sistema de Gestión
de Clientes, de modo que se incorporan en ella todos los métodos descritos en el enunciado
de la práctica:
4
Prácticas Java 2010
Para almacenar los objetos se usa un contenedor de tipo lista, ArrayList, al que se irán
añadiendo los objetos Persona y Cliente. Utilizaremos los métodos de esa clase para
implementar los métodos de listado. La creación del contenedor de objetos, en este caso del
ArrayList, se realiza en el constructor por defecto de la clase, que siempre se ejecuta como es
sabido.
El mecanismo de herencia garantiza que los atributos (al ser protected) y todos los métodos
pasen directamente a la clase Cliente.
Al parametrizar el método addCliente(Persona p) con objetos Persona se puede invocar con
objetos Persona y Cliente, al ser objetos de una clase derivada, esto se debe al polimorfismo,
característica fundamental de la programación orientada a objetos.
5
Prácticas Java 2010
ETAPA 3
Introducción
Por último, añadiremos al proyecto una nueva clase, ClienteVIP, que conservará todos los
atributos de Cliente pero sobreescribirá el comportamiento del método consultarPuntos y del
método toString, para poder identificar a este tipo de Cliente. También se modificará
convenientemente la clase GestorClientes para adaptarla a los requisitos de la práctica.
Diseño y Codificación
Los cambios añadidos a GestorClientes, los de ClienteVIP se han detallado en el párrafo
anterior, consisten en añadir los métodos: