Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: miguelop02 en 21 de Septiembre 2021, 05:00

Título: Programa Del Curso de POO en java cómo plantear solución al ejercicio CU00687B
Publicado por: miguelop02 en 21 de Septiembre 2021, 05:00
Hola, alguien que haya hecho el ejercicio CU00687B que ponen en el curso de programación Java, de herencias y clases abstractas, a ver si me pueden ayudar.

Ejercicio: 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. Los productos congelados deben llevar la temperatura de congelación recomendada. Crear el código de las clases Java implementando una relación de herencia desde la superclase Producto hasta las subclases ProductoFresco, ProductoRefrigerado y ProductoCongelado. 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. Crear una clase testHerencia2 con el método main donde se cree un objeto de cada tipo y se muestren los datos de cada uno de los objetos creados.
Título: Re: Programa Del Curso de POO en java.
Publicado por: Kabuto en 21 de Septiembre 2021, 11:40
Hola Miguel.

Hablamos de este ejercicio (https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=654:ejercicio-resuelto-ejemplo-de-herencia-simple-extends-y-super-en-java-constructores-con-herencia-cu00687b&catid=68&Itemid=188)

¿Cuál es la duda?

Fijándote en el ejercicio anterior de las clases Profesor, se puede desarrollar este ejercicio de los Productos, pero si no sabes por donde empezar, te podemos dar algunas indicaciones.

El enunciado dice que hay tres tipos de productos:
frescos, refrigerados y congelados.

Así que ya sabemos que tenemos que modelar las clases para estas tres entidades.
Dichas entidades, TODAS ellas son productos.
Esto significa que tienen algunas características (atributos) propias de cada una, pero también van a tener algunas que son comunes a todas ellas.
Estos atributos comunes son: fecha de caducidad y número de lote

En casos como este, para no replicar tres veces esos mismos atributos en cada una de las tres clases, es más óptimo crear una superclase con dichos atributos.
Así solo hay que escribir el código de estos atributos una sola vez y podrán ser usados en las clases hijas que hereden de esta superclase, ya sean tres, treinta, o treinta millones...

Así pues, tendríamos esta superclase, con dos atributos:

Producto
- fechaCaducidad
- numLote


Las clases hijas, serían:

Citar
Los productos frescos deben llevar la fecha de envasado y el país de origen.

ProductoFresco
- fechaEnvasado
- paisOrigen



Citar
Los productos refrigerados deben llevar el código del organismo de supervisión alimentaria.

ProductoRefrigerado
- codigoSupervision



Citar
Los productos congelados deben llevar la temperatura de congelación recomendada.

ProductoFresco
- tempCongelacion




Bien, pues escribe el código de esas 4 clases, con sus atributos, sus constructores, sus getter y sus setter.

Recuerda que hay una relación de herencia:
Código: [Seleccionar]
public ProductoFresco extends Producto {

}

Cuando las tengas. Haz una última clase, con método main(), para crear objetos de estas clases y comprobar que funcionan bien.

No importa si no lo consigues, si te quedan mal, si te atascas en algún punto...
Haz hasta donde puedas, luego lo compartes aquí en el foro y te ayudamos a completar y corregir.

Un saludo.