Hola, aquí presento este ejercicio para su revisión (el código se encuentra como archivo adjunto para su descarga estando logados):
Se plantea desarrollar un programa Java que permita la gestión de una empresa agroalimentaria que trabaja con tres tipos de productos: productos frescos, productos refrigerados y productos congelados. Todos los productos llevan esta información común: fecha de caducidad y número de lote. A su vez, cada tipo de producto lleva alguna información específica. Los productos frescos deben llevar la fecha de envasado y el país de origen. Los productos refrigerados deben llevar el código del organismo de supervisión alimentaria, la fecha de envasado, la temperatura de mantenimiento recomendada y el país de origen. Los productos congelados deben llevar la fecha de envasado, el país de origen y la temperatura de mantenimiento recomendada.
Hay tres tipos de productos congelados: congelados por aire, congelados por agua y congelados por nitrógeno. Los productos congelados por aire deben llevar la información de la composición del aire con que fue congelado (% de nitrógeno, % de oxígeno, % de dióxido de carbono y % de vapor de agua). Los productos congelados por agua deben llevar la información de la salinidad del agua con que se realizó la congelación en gramos de sal por litro de agua. Los productos congelados por nitrógeno deben llevar la información del método de congelación empleado y del tiempo de exposición al nitrógeno expresada en segundos.
Crear el código de las clases Java implementando una relación de herencia siguiendo estas indicaciones:
a) En primer lugar realizar un esquema con papel y bolígrafo donde se represente cómo se van a organizar las clases cuando escribamos el código. Estudiar los atributos de las clases y trasladar a la superclase todo atributo que pueda ser trasladado.
b) Crear superclases intermedias (aunque no se correspondan con la descripción dada de la empresa) para agrupar atributos y métodos cuando sea posible. Esto corresponde a “realizar abstracciones” en el ámbito de la programación, que pueden o no corresponderse con el mundo real.
c) Cada clase debe disponer de constructor y permitir establecer (set) y recuperar (get) el valor de sus atributos y tener un método que permita mostrar la información del objeto cuando sea procedente.
Crear una clase testHerencia3 con el método main donde se creen: dos productos frescos, tres productos refrigerados y cinco productos congelados (2 de ellos congelados por agua, otros 2 por agua y 1 por nitrógeno). Mostrar la información de cada producto por pantalla.
Aunque antes quisiera aclarar unos puntos con respecto al desarrollo de este ejercicio:
1. El ejercicio nos pedía ingresar unos productos los cuales yo no ingresé por el tiempo básicamente aunque creo que esto no afecta la lógica del programa.
2. Hay 2 clases las cuales no tienen parámetros, mirando las revisiones de otros compis leí en una de las respuestas que no era necesario borrarlas ya que mirando la realidad de la empresa convenía dejarla para futuras expansiones y demás, así que por ello las dejé.
3. Todas las variables están declaradas como String , esto se debe a que se me volvió a presentar el problema del salto de línea con números, decidí utilizar las soluciones que encontré anteriormente(Las cuales me sirvieron en esos ejercicios) sin resolver el problema, por lo cual por el mismo asunto del tiempo todo lo puse como String.
4. Lo primero que hice para resolver el ejercicio fue establecer una “estructura” para saber como proceder a la hora de escribir el código, me quedó algo similar a esto:
(http://i.imgur.com/qt8w7ZH.jpg)
Sin mas aquí dejo el ejercicio para que me dejen sus sugerencias. Saludos