¡Buenos días!
Dejo mi respuesta al ejercicio CU00686B de Aprender programación Java desde cero.
Superclase Producto:
package empresaAgroalimentaria;
/**
* Código de la clase Producto.
* @author Erik Escriche
*/
public class Producto {
String fechaCaducidad;
int numeroLote;
/**
* Constructor de objetos de clase Producto.
*/
public Producto(String fechaCaducidad, int numeroLote){
this.fechaCaducidad= fechaCaducidad;
this.numeroLote= numeroLote;
}
/**
* Métodos para obtener los datos.
*/
public String getFechaCaducidad () { return fechaCaducidad; }
public int getNumeroLote() {return numeroLote;}
public void mostrarInformacionProducto () {
System.out.print ("Fecha de caducidad: "+getFechaCaducidad()+". Número de lote: "+getNumeroLote()+". ");
}
}
Subclase ProductoFresco:
package empresaAgroalimentaria;
/**
* Código de la subclase ProductoFresco de la superclase Producto.
* @author Erik Escriche
*/
public class ProductoFresco extends Producto {
String fechaEnvasado;
String paisOrigen;
/**
* Constructor de objetos de la clase ProductoFresco.
*/
public ProductoFresco(String fechaCaducidad, int numeroLote) {
super(fechaCaducidad, numeroLote);
fechaEnvasado = "";
paisOrigen= "";
}
public void setFechaEnvasado (String fechaEnvasado) {this.fechaEnvasado=fechaEnvasado;}
public void setPaisOrigen (String paisOrigen) {this.paisOrigen=paisOrigen;}
public String getFechaEnvasado() {return fechaEnvasado;}
public String getPaisOrigen() {return paisOrigen;}
public void mostrarInformacionProductoFresco () {
System.out.print ("Datos del producto fresco. ");
mostrarInformacionProducto();
System.out.print ("Fecha de envasado: " + fechaEnvasado + ". País de origen: " + paisOrigen + ".\n");
}
}
Subclase ProductoRefrigerado:
package empresaAgroalimentaria;
/**
* Código de la subclase ProductoRefrigerado de la superclase Producto.
* @author Erik Escriche
*/
public class ProductoRefrigerado extends Producto {
String codigoOrganismoSupervisionAlimentaria;
/**
* Constructor de objetos de la clase ProductoRefrigerado.
*/
public ProductoRefrigerado(String fechaCaducidad, int numeroLote) {
super(fechaCaducidad, numeroLote);
codigoOrganismoSupervisionAlimentaria="";
}
public void setCodigoOrganismoSupervisionAlimentaria (String codigoOrganismoSupervisionAlimentaria) {this.codigoOrganismoSupervisionAlimentaria=codigoOrganismoSupervisionAlimentaria;}
public String getCodigoOrganismoSupervisionAlimentaria() {return codigoOrganismoSupervisionAlimentaria;}
public void mostrarInformacionProductoRefrigerado () {
System.out.print ("Datos del producto refrigerado. ");
mostrarInformacionProducto();
System.out.print ("Código del organismo de supervisión alimentaria: "+codigoOrganismoSupervisionAlimentaria+".\n");
}
}
Subclase ProductoCongelado:
package empresaAgroalimentaria;
/**
* Código de la subclase ProductoCongelado de la superclase Producto.
* @author Erik Escriche
*/
public class ProductoCongelado extends Producto{
int temperaturaCongelacionRecomendada;
/**
* Constructor de objetos de la clase ProductoCongelado
*/
public ProductoCongelado(String fechaCaducidad, int numeroLote){
super(fechaCaducidad,numeroLote);
temperaturaCongelacionRecomendada=0;
}
public void setTemperaturaCongelacionRecomendada (int temperaturaCongelacionRecomendada) {
this.temperaturaCongelacionRecomendada=temperaturaCongelacionRecomendada;
}
public int getTemperaturaCongelacionRecomendada () {return temperaturaCongelacionRecomendada;}
public void mostrarInformacionProductoCongelado() {
System.out.print ("Datos del producto congelado. ");
mostrarInformacionProducto();
System.out.print ("Temperatura de congelación recomendada: " + temperaturaCongelacionRecomendada + " grados.\n");
}
}
Clase TestEmpresaAgroalimentaria:
package empresaAgroalimentaria;
/**
* Código de la clase TestEmpresaAgroalimentaria que nos va a servir para comprobar el correcto funcionamiento de la superclase Producto y sus subclases.
* @author Erik Escriche
*/
public class TestEmpresaAgroalimentaria {
public static void main (String [] Args) {
ProductoFresco productoFresco = new ProductoFresco ("07/07/07",456);
productoFresco.setFechaEnvasado ("02/02/02");
productoFresco.setPaisOrigen ("Panamá");
productoFresco.mostrarInformacionProductoFresco();
ProductoRefrigerado productoRefrigerado = new ProductoRefrigerado ("08/08/08", 987);
productoRefrigerado.setCodigoOrganismoSupervisionAlimentaria ("487693562810");
productoRefrigerado.mostrarInformacionProductoRefrigerado();
ProductoCongelado productoCongelado = new ProductoCongelado ("09/09/09", 123);
productoCongelado.setTemperaturaCongelacionRecomendada(-10);
productoCongelado.mostrarInformacionProductoCongelado();
}
}
¡Saludos!