Buenas noches!
Vengo a resolver el ejercicio del capitulo 86° del curso. El enunciado es el siguiente:
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.Curiosidad: Miren como marca netbeans las super clases:
Asi me dare cuenta quienes son en futuros proyectos, jajaja!
Okay, aqui vamos presentando cada clase. La primera, la superclase
Producto:
package comidaHerencia;
public class Producto {
String fechaCaducidad, numeroLote;
public Producto(String fechaCaducidad, String numeroLote){
this.fechaCaducidad = fechaCaducidad;
this.numeroLote = numeroLote;
}
public void setFechaCaducidad(String fecha){
fechaCaducidad = fecha;
}
public void setNumeroLote(String num){
numeroLote = num;
}
public String getFechaCaducidad(){
return fechaCaducidad;
}
public String getNumeroLote(){
return numeroLote;
}
}
Clase
ProductoCongelado:
package comidaHerencia;
public class ProductoCongelado extends Producto {
private double tempCongelacionRecomendada;
public ProductoCongelado(String fechaCaducidad, String numeroLote){
super(fechaCaducidad, numeroLote);
tempCongelacionRecomendada = 0;
}
public void setTemperaturaRecomendada(double temperatura){
tempCongelacionRecomendada = temperatura;
}
public double getTemperaturaRecomendada(){
return tempCongelacionRecomendada;
}
}
Clase
ProductoFresco:
package comidaHerencia;
public class ProductoFresco extends Producto {
private String fechaEnvasado, paisDeOrigen;
public ProductoFresco(String fechaCaducidad, String numeroLote){
super(fechaCaducidad, numeroLote);
fechaEnvasado = "Desconocido";
paisDeOrigen = "Desconocido";
}
public void setFechaEnvasado(String fecha){
fechaEnvasado = fecha;
}
public void setPaisDeOrigen(String pais){
paisDeOrigen = pais;
}
public String getFechaEnvasado(){
return fechaEnvasado;
}
public String getPaisDeOrigen(){
return paisDeOrigen;
}
}
Clase
ProductoRefrigerado:
package comidaHerencia;
public class ProductoRefrigerado extends Producto{
private String codigoSupervisionAlimentaria;
public ProductoRefrigerado(String fechaCaducidad, String numeroLote){
super(fechaCaducidad, numeroLote);
codigoSupervisionAlimentaria = "Desconocido";
}
public void setCodigoSupervisionAlimentaria(String codigo){
codigoSupervisionAlimentaria = codigo;
}
public String getCodigoSupervisionAlimentaria(){
return codigoSupervisionAlimentaria;
}
}
Clase
testHerencia2:
package comidaHerencia;
public class testHerencia2 {
public static void main(String[]args){
ProductoCongelado nuggets = new ProductoCongelado("16-10-2016","L1603004");
ProductoFresco lechuga = new ProductoFresco("20-10-2016","L1610005");
ProductoRefrigerado jugo = new ProductoRefrigerado("25-10-2016","L1609006");
System.out.println("Sin datos. \nProducto Congelado: ");
System.out.println("Fecha de caducidad: " + nuggets.getFechaCaducidad() + "\nNumero de Lote: " + nuggets.getNumeroLote()
+ "\nTemperatura Recomendada: " + nuggets.getTemperaturaRecomendada() + "C°");
System.out.println();
System.out.println("Producto Fresco: ");
System.out.println("Fecha de caducidad: " + lechuga.getFechaCaducidad() + "\nNumero de Lote: " + lechuga.getNumeroLote()
+ "\nFecha de envasado: " + lechuga.getFechaEnvasado() + "\nPais de Origen: " + lechuga.getPaisDeOrigen());
System.out.println();
System.out.println("Producto Refrigerado: ");
System.out.println("Fecha de caducidad: " + jugo.getFechaCaducidad() + "\nNumero de Lote: " + jugo.getNumeroLote()
+ "\nCodigo de supervision alimentaria: " + jugo.getCodigoSupervisionAlimentaria());
nuggets.setTemperaturaRecomendada(-18);
lechuga.setFechaEnvasado("03-10-2015");
lechuga.setPaisDeOrigen("Panamá");
jugo.setCodigoSupervisionAlimentaria("B#6745");
System.out.println();
System.out.println("Con datos. \nProducto Congelado: ");
System.out.println("Fecha de caducidad: " + nuggets.getFechaCaducidad() + "\nNumero de Lote: " + nuggets.getNumeroLote()
+ "\nTemperatura Recomendada: " + nuggets.getTemperaturaRecomendada() + "C°");
System.out.println();
System.out.println("Producto Fresco: ");
System.out.println("Fecha de caducidad: " + lechuga.getFechaCaducidad() + "\nNumero de Lote: " + lechuga.getNumeroLote()
+ "\nFecha de envasado: " + lechuga.getFechaEnvasado() + "\nPais de Origen: " + lechuga.getPaisDeOrigen());
System.out.println();
System.out.println("Producto Refrigerado: ");
System.out.println("Fecha de caducidad: " + jugo.getFechaCaducidad() + "\nNumero de Lote: " + jugo.getNumeroLote()
+ "\nCodigo de supervision alimentaria: " + jugo.getCodigoSupervisionAlimentaria());
}
}
Aquí la prueba, su ejecución:
Esperare sus comentarios y sus debidas correcciones
Saludos!