Hola PatAs, la solución que has propuesto está bien planteada en líneas generales.
Los nombres de las clases no están demasiado mal. La única observación que te hago sobre los nombres de clases es que un nombre como ClaseAuxiliar resulta bastante pobre, en el sentido de que no es descriptivo de qué representa la clase. Sería más adecuado un nombre descriptivo.
En cuanto al esquema de herencia, hay algunas cosas que deberías mejorar. Por ejemplo:
- Si la clase Producto tiene ciertos atributos, sería lógico que dentro de esta clase tuvieras un método public void MostrarProducto() y luego reutilizar ese código en las clases que hereden de Producto. Una idea clave en la herencia es reutilizar código de clases superiores en las clases inferiores.
Fíjate por ejemplo en lo planteado aquí:
https://www.aprenderaprogramar.com/foros/index.php?topic=2377.0 Ahí puedes ver en la clase Producto un método public void imprimirInfo()
Luego ese método se invoca en clases inferiores como
public void imprimirDatos(){
System.out.println("Codigo de Supervision Alimentaria: " + getCodigoSupervisionAlimentaria());
imprimirInfo();
}
Ves que imprimirInfo() permite reutilizar el código en clases inferiores. Tú sin embargo repites el código (contrario a la idea de reutilización)
Es bueno consultar otros hilos del foro y ver otras ideas y comentarios
Saludos