Identificacion de clases y refactorizacion en java

M

Hola, estoy estudiando la refactorizacion en java y tengo un ejercicio que hacer. No quiero que nadie me diga como se hace, lo unico que quiero es que alguien me responda a la duda que tengo y es que quiero saber que clases existen en el enunciado siguiente:

Una tienda online necesita un método programado que según el precio base de un artículo le calcule el precio definitivo teniendo en cuenta ciertos descuentos especiales:

Si el precio es hasta 9€, no hay descuento.
Si el precio es entre 10 y 50 euros, hay un descuento pequeño del 10%.
Si el precio es 51 euros o más, hay un descuento mayor del 20%.
Si eres trabajador senior (más de 10 años de trabajo) de la tienda, se te ofrece un descuento aplicado del 20% adicional al precio definitivo calculado según el precio base.

De cada trabajador se desea guardar el nombre, edad y fecha de contratación.

Crea un método en Java en la clase principal, que reciba el importe base y un trabajador (si lo es; en caso contrario, enviar ‘null’).

Cada vez que se calcule un importe sin excepciones, además, en segundo plano, se debe mostrar por consola el mensaje “Importe calculado con éxito”. Si se recibe un trabajador, mostrar los datos de ese trabajador seguidamente por consola también.

En el main() crear tres llamadas al método para probar su funcionamiento.

Se que existe la clase trabajador pero no se si podria crearse por ejemplo, clase tienda y que heredaran de ella la clase articulo y la clase trabajador.

-Yepeto-

La clase tienda si que la puedes crear para iniciar su valores, pero la parte de la herencia no la veo, un artículo no es una tienda, más bien, una tienda tiene artículos por forzarlo un poco.

1 respuesta
M

#2 Entonces, crearia la clase trabajador que es la que realmente se pide en el ejercicio y podria crear la clase articulo por otro lado sin que herede de nada? o en el metodo importe final simplemente le paso el precio base sin necesidad de crear la clase articulo?

-Yepeto-

Por lo que entiendo del ejercicio solo necesitarías crear la clase trabajador (donde puedes crear el método main mismo) ya que es el único del que tiene que guardar información.

Luego te creas un método que reciba un importe y un trabajador y ya haces los cálculos que te piden. Para mi, éste método no pertenece a la clase trabajador, pero si es para hacer una práctica rápida, no me complicaría.

L

Yo usaría un switch (rango de precio ) y en cada case le pasas tipo de trabajador y el calculo del precio.

La clase main, clase trabajador y finito. En la main creas la variable precio, y en cada metodo variables locales para el calculo del mismo. System.out.print y a funacionar.

Y no te lies, piensa que contra mas clases tengas, más recursos consumes ( ahora parece una tontearía pero más adelante es importante ).