Hola sinolab, por lo que entiendo has ido siguiendo el curso de Java hasta llegar a este ejercicio. Si no es así, te recomiendo seguir el curso pues en él se van explicando ordenadamente todos los conceptos de Java.
Una primera cuestión a comentar es que no estás nombrando adecuadamente las clases Java. Lee este hilo:
https://www.aprenderaprogramar.com/foros/index.php?topic=3035.msg13698#msg13698, de acuerdo con él verás que "Productos", ó "Frescos", etc. no son nombres adecuados para estas clases.
El uso de clases abstractas en este ejercicio no es adecuado por tanto no han sido explicadas este tipo de clases dentro de la progresión de aprendizaje que se sigue en el curso. Puedes plantearlo como una variante de ejercicio, o como otro ejercicio, pero no puede considerarse una solución válida dentro de la metodología de aprendizaje que proponemos, donde es fundamental seguir un orden y una progresión ordenada en el aprendizaje.
Lo mismo puedo decirte del método toString.
Comento algunas cuestiones:
no le veo sentido a incluir un método mostrarInformacion() habiendo incluido el método toString. Tampoco le veo sentido a la repetición de código para el método mostrarInformacion() en las distintas clases.
el método toString no lo tienes correctamente implementado en base a un esquema de herencia cohererente, ya que repites código que podrías no repetir, es decir, no haces uso de la reutilización de código.
Para obtener los atributos de una clase no es necesario poner el get, aunque tampoco está prohibido, puedes hacerlo.
No puedo darte una opinión sobre el ejercicio en conjunto porque como te he comentado no has resuelto el ejercicio, sino que has planteado una variante. En el código se ve que manejas correctamente diversos conceptos de la programación Java, no debes pensar que la valoración sea negativa.
Puedes ver una solución a este ejercicio en
https://www.aprenderaprogramar.com/foros/index.php?topic=2342.0, estudiar las soluciones propuestas por otras personas en general es bueno para aprender estrategias analizando código.
Si deseas plantear otras soluciones a ejercicios, es recomendable seguir lo que indica el enunciado, y utilizar únicamente contenidos explicados previamente en las entregas del curso que corresponda.
Si te animas, participa con nosotros en los foros y responde a usuarios que estén en las entregas iniciales del curso, como te he comentado además de hacernos un favor, analizar código escrito por otros resulta a la larga útil para aprender a codificar y analizar con rapidez.
Saludos