Está en la página 1de 2

Cálculo de precios de Electrodomésticos, según condiciones

Especificaciones

Se desea confeccionar un programa para manejar Electrodomésticos de 2 tipos: Lavadoras y


Televisiones, con un conjunto de características que se detallan más adelante.

En función del tipo de electrodoméstico y sus características se deberá calcular y mostrar un


precio final.

La superclase Electrodoméstico tiene las siguientes características:


• Sus atributos son precio base, color, consumo energético (letras entre A y F) y
peso. Indica que se podrán heredar.
• Por defecto, el color será blanco, el consumo energético será F, el precioBase es
de 100 € y el peso de 5 kg. Usa constantes para ello.
• Los colores disponibles son: blanco, negro, rojo, azul y gris. No importa si el
nombre está en mayúsculas o en minúsculas.
• Los constructores que se implementarán serán
◦ Un constructor por defecto.
◦ Un constructor con el precio y peso. El resto por defecto.
◦ Un constructor con todos los atributos.
• Los métodos que implementara serán:
◦ Métodos get de todos los atributos.
◦ comprobarConsumoEnergetico(char letra): comprueba que la letra es
correcta, sino es correcta usara la letra por defecto. Se invocará al crear el
objeto y no será visible.
◦ comprobarColor(String color): comprueba que el color es correcto, sino lo
es usa el color por defecto. Se invocará al crear el objeto y no será visible.
◦ precioFinal(): según el consumo energético, aumentara su precio, y según
su tamaño, también. Esta es la lista de precios:
Letra Precio
A 100 €
B 80 €
C 60 €
D 50 €
E 30 €
F 10 €

Tamaño Precio
Entre 0 y 19 kg 10 €
Entre 20 y 49 kg 50 €
Entre 50 y 79 kg 80 €
Mayor que 80 kg 100 €

La subclase Lavadora tiene las siguientes características:


• Su atributo es carga, además de los atributos heredados.
• Por defecto, la carga es de 5 kg. Usa una constante para ello.
• Los constructores que se implementarán serán:
◦ Un constructor por defecto.
◦ Un constructor con el precio y peso. El resto por defecto.
◦ Un constructor con la carga y el resto de atributos heredados. Recuerda que debes
llamar al constructor de la clase padre.
• Los métodos que se implementara serán:
◦ Método get de carga.
◦ precioFinal():, si tiene una carga mayor de 30 kg, aumentara el precio 50 €, sino es
así no se incrementará el precio. Llama al método padre y añade el código
necesario. Recuerda que las condiciones que hemos visto en la clase
Electrodoméstico también deben afectar al precio.

La subclase Televisión tiene las siguientes características:

• Sus atributos son resolución (en pulgadas) y sintonizador TDT (booleano), además de
los atributos heredados.
◦ Por defecto, la resolución será de 20 pulgadas y el sintonizador será false.
• Los constructores que se implementarán serán:
◦ Un constructor por defecto.
◦ Un constructor con el precio y peso. El resto por defecto.
◦ Un constructor con la resolución, sintonizador TDT y el resto de atributos
heredados. Recuerda que debes llamar al constructor de la clase padre.
• Los métodos que se implementara serán:
◦ Método get de resolución y sintonizador TDT.
◦ precioFinal(): si tiene una resolución mayor de 40 pulgadas, se incrementará el
precio un 30% y si tiene un sintonizador TDT incorporado, aumentara 50 €.
Recuerda que las condiciones que hemos visto en la clase Electrodoméstico
también deben afectar al precio.

El programa principal deberá implementar las siguientes funcionalidades:

• Tendrá capacidad para almacenar hasta 10 Electrodomésticos.


• Presentará un menú de opciones para :
1. Generar datos aleatoriamente para 5 lavadoras y 5 televisiones.
2. Modificar el valor de un determinado electrodoméstico, solicitando la posición
del array y en función de su tipo, solicitar sus atributos específicos.
3. Listado de electrodoméstico indicando su tipo, color y precio final.
4. Resumen de precios de la colección, con 3 campos:
• El precio total de todas las televisiones
• El precio total de todas las lavadoras
• El precio total de todos los electrodomésticos

Aplica todos los conceptos expuestos en esta unidad, para que el tamaño y legibilidad del
programa sean los más óptimos. (Utiliza el operador para manejar los objetos instanceOf )

También podría gustarte