RA7 - CEd¶
Empaquetar actividades
Empaqueta las actividades, dentro de la carpeta ut08, en la carpeta actividades/ce7d.
Actividad 08¶
paquete: A08_videojuegos
Un salón de videojuegos dispone de ordenadores en los que los clientes pueden jugar. Además de jugar en el establecimiento, la empresa alquila y vende juegos.
a) Diseñar la clase Juego siguiendo las siguientes especificaciones:
- Atributos
protected:titulo(String),fabricante(String),año(int). - Método constructor
public Juego(String t, String f, int a) - Métodos consultores de todos los atributos.
public String toString(), que devuelve un String con los datos del Juego.public boolean equals(Object o): Dos juegos son iguales si tienen el mismo título, fabricante y año.public int compareTo(Object o): Un juego es menor que otro si su título es menor. A igual título, si su fabricante es menor. A igual título y fabricante, si su año es menor.
b) Diseñar las clases JuegoEnAlquiler y JuegoEnVenta (y otras si se considera oportuno), sabiendo que, además de los atributos descritos anteriormente, tienen:
-
precio -
nº de copias disponibles -
La clase
JuegoEnAlquilertiene: _ un atributo que indica el número de días que se alquila. _ un método constructor que recibe todos sus datos. _ un métodoalquilarque decrementa el número de copias disponibles. _ un métododevolverque incrementa el número de copias disponibles. _toString()devuelve todos los datos delJuegoEnAlquiler. -
La clase
JuegoEnVentatiene: _ un método constructor que recibe todos sus datos. _ un métodovender, que decrementa el número de copias disponibles. _toString()devuelve todos los datos delJuegoEnVenta.
c) Crea también una clase TestJuego para probar objetos de las clases JuegoEnAlquiler y JuegoEnVenta.
### Actividad 09
paquete: A09_fnmt
La Fabrica Nacional de Moneda y Timbre quiere almacenar cierta información técnica del dinero (billetes y monedas) que emite. En concreto, le interesa:
- Valor: valor de la moneda o billete, en euros (
double). - Año de emisión: año en que fue emitida la moneda o billete (
int). - De las monedas:
_ Diámetro: diámetro de la moneda, en milímetros. (double).
_ Peso: peso de la moneda, en gramos (double). - De los billetes:
_ Altura del billete en mm (double).
_ Anchura del billete en mm (double).
a) Diseñar la clase abstracta Dinero y sus subclases Moneda y Billete, desarrollando:
- Constructores que reciban los datos necesarios para inicializar los atributos de la clase correspondiente.
- Método
equals: dos monedas o billetes son iguales si tienen el mismo año de emisión y valor. - Método
compareTo: es menor (mayor) el de menor (mayor) año, a igual año es menor (mayor) el de menor (mayor) valor. - Método
toString: que muestre todos los datos del billete o moneda. Los billetes irán precedidos por el texto "BILLETE" y las monedas por el texto "MONEDA".
b) Diseñar la clase TestDinero para probar las clases desarrolladas. Crear objetos de las clases Moneda y Billete y mostrarlos por pantalla.
### Actividad 10
Sistema de Vehículos
- Crear una superclase abstracta
Vehiculocon el métodoacelerar()yfrenar(), que serán sobrescritos por sus subclases. - Crear subclases
CocheyMotoque sobrescriban el métodoacelerar()yfrenar()con su propia implementación. - Crear una clase
Carreteraque permita añadir varios vehículos y simule una carrera, llamando a los métodosacelerar()yfrenar()de los distintos vehículos. - Implementar una clase
TestVehiculospara probar la funcionalidad.