Autor Tema: Crear esquema y diseño herencia Java a partir de un texto descripcion CU00687B  (Leído 3382 veces)

isaac96

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Buenas, Me dirijo a ustedes con el fin de que me den tips de mejoras de este programa que intente hacer, soy programador primerizo y me gustaría que me ayudaran Porfavor

Enunciado del ejercicio:

Citar
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.


Para descargar la respuesta pulsar en icono de archivo adjunto estando logeados en el foro.

« Última modificación: 20 de Abril 2015, 09:49 por Ogramar »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola, mis recomendaciones serían:

Crea un archivo .java para cada clase, no declares muchas clases dentro de un mismo archivo java.

Mejora la forma de nombrar las clases, te copio desde otro hilo:

<< Te recomendaría que empieces a acostumbrarte a pensar en cómo nombrar adecuadamente a las clases. El nombre normalmente debe ser descriptivo, en singular, y reflejar lo que representa o hace la clase. En el caso de que la clase represente algo de la vida real será "Rueda" o "Vehiculo", etc. En el caso de que represente algo no real podrá ser "Pensamiento" o "Duda" o "Reunion". Cuando las clases están destinadas más que a representar a realizar procesos, como es este caso, los nombres suelen ser del tipo -or, por ejemplo CombinadorInicialesPalabras, Exponenciador, ConstructorDeMultillaves, ExtractorDeAtributos, ReductorDeFlujo, etc. >>

No tienes coherencia en los nombres de clases. La clase Productos_Frescos hereda de la clase Empresa_Alimentaria. Esto significaría que un Producto fresco es un tipo e empresa alimentaria, cosa que no tiene sentido.

En la superclase Empresa_Agroalimentaria tienes los atributos fechaCaducidad y numLote. Pero el enunciado aunque no lo dice directamente si lo vemos bien nos dice que hay otros atributos comunes que deberían estar en la superclase (por ejemplo la fecha de envasado).

Tampoco estás haciendo un buen uso de la reutilización de código y aprovechamiento de la herencia, por ejemplo el método despliega() de la clase Congelados_Aire se repite en gran medida en la clase Congelados_Agua y en la clase Congelados_Nitrogeno sin hacer las partes comunes en la clase Productos_Congelados.

Como referencia para consultar la solución a este ejercicio puedes mirar https://www.aprenderaprogramar.com/foros/index.php?topic=2342

Para aplicar bien los conceptos te recomiendo seguir el curso desde el principio (http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188)

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".