Buenas, para quien revise este ejercicio, en líneas generales sigue lo pedido. Dejo algunos comentarios que pueden ser de interés:
- En el código propuesto hay algunos elementos con los que no se ha trabajado en el curso (como uso de java.io.* para pausar pantalla). Si se quiere ver una solución que se ciñe a los contenidos del curso puede consultarse
https://aprenderaprogramar.com/foros/index.php?topic=1179.0- Un aspecto a mejorar sería la forma de nombrar las clases. En lugar de nombrarse en plural, es preferible nombrarlas en singular. Hay nombres no adecuados como "Pausar". En este hilo se dan algunas indicaciones interesantes sobre cómo nombrar las clases en Java:
https://aprenderaprogramar.com/foros/index.php?topic=3035.msg13698#msg13698- Otro aspecto mejorable es que no se ha reutilizado código en todas sus posibilidades aprovechando las propiedades de la herencia Java. Si nos fijamos en cómo se muestra la información de los productos, para un producto fresco, se usa
System.out.print ("******DATOS EN PRODUCTOS FRESCOS******\n" +
"Fecha de caducidad : "+
testProFresco.getFechaCaducidad()+
Y luego para un producto refrigerado, etc. prácticamente se repite el mismo código.
La repetición de código en general indica un mal diseño. En este caso, dado que tanto productos frescos como productos refrigerados tienen cosas en común, lo preferible hubiera sido tratarlo en común, evitando tener que repetir. Para entender a qué me refiero, recomiendo consultar
https://aprenderaprogramar.com/foros/index.php?topic=1179.0 y ver el tratamiento que se da al método verInfoProducto(). Si nos fijamos, en las subclases se invoca el método de la superclase, evitando tener que repetir código.
Salu2