Quedo así ahora el código.
clase principal main
package testHerencia4;
import java.util.Calendar;
public class testHerencia4 {
public static void main(String[] args) {
System.out.println("LOS PRODUCTOS FRESCO.");
Calendar fecha1 = Calendar.getInstance();
fecha1.set(2018, 9, 12);
Calendar fecha2 = Calendar.getInstance();
fecha2.set(2014, 9, 12);
ProductoFresco productoFresco1 = new ProductoFresco(fecha1, "00009876", fecha2, "Paraguay");
productoFresco1.muestraDatosProducto();
System.out.println("\n");
Calendar fecha3 = Calendar.getInstance();
fecha3.set(2017, 9, 12);
Calendar fecha4 = Calendar.getInstance();
fecha4.set(2012, 8, 12);
ProductoFresco productoFresco2 = new ProductoFresco(fecha1, "00005656", fecha4, "Paraguay");
productoFresco2.muestraDatosProducto();
System.out.println("\n");
System.out.println("LOS PRODUCTOS REFRIGERADO.");
Calendar fecha5 = Calendar.getInstance();
fecha1.set(2019, 10, 22);
Calendar fecha6 = Calendar.getInstance();
fecha6.set(2015, 11, 02);
ProductoRefrigerado productoRefrigerado1 = new ProductoRefrigerado(fecha5, "00032323", fecha6, "Paraguay");
productoRefrigerado1.setOrgSupAlimentaria("854dd");
productoRefrigerado1.setTemperaturaRecomendada(-2);
productoRefrigerado1.muestraDatosProducto();
System.out.println("\n");
Calendar fecha7 = Calendar.getInstance();
fecha7.set(2020, 10, 02);
Calendar fecha8 = Calendar.getInstance();
fecha8.set(2011, 10, 02);
ProductoRefrigerado productoRefrigerado2 = new ProductoRefrigerado(fecha7, "0003656", fecha8, "Paraguay");
productoRefrigerado2.setOrgSupAlimentaria("4343FF");
productoRefrigerado2.setTemperaturaRecomendada(-6);
productoRefrigerado2.muestraDatosProducto();
System.out.println("\n");
Calendar fecha9 = Calendar.getInstance();
fecha9.set(2016, 10, 22);
Calendar fecha10 = Calendar.getInstance();
fecha10.set(2012, 11, 02);
ProductoRefrigerado productoRefrigerado3 = new ProductoRefrigerado(fecha9, "0007777", fecha10, "Paraguay");
productoRefrigerado3.setOrgSupAlimentaria("854EE");
productoRefrigerado3.setTemperaturaRecomendada(-3);
productoRefrigerado3.muestraDatosProducto();
System.out.println("\n");
System.out.println("LOS PRODUCTOS CONGELADOS");
System.out.println("CONGELADOS POR AIRE");
Calendar fecha11 = Calendar.getInstance();
fecha11.set(2018, 9, 12);
Calendar fecha12 = Calendar.getInstance();
fecha12.set(2010, 9, 12);
CongeladoAire congeladoAire1 = new CongeladoAire(fecha11, "000032323", fecha12, "Paraguay");
congeladoAire1.setTemperaturaRecomendada(-4);
congeladoAire1.setNitrogeno(15);
congeladoAire1.setOxigeno(10);
congeladoAire1.setDioxidoCarbono(30);
congeladoAire1.setVaporAgua(45);
congeladoAire1.muestraDatosProducto();
System.out.println("\n");
Calendar fecha13 = Calendar.getInstance();
fecha13.set(2019, 8, 11);
Calendar fecha14 = Calendar.getInstance();
fecha14.set(2011, 9, 12);
CongeladoAire congeladoAire2 = new CongeladoAire(fecha13, "000032323", fecha14, "Paraguay");
congeladoAire2.setTemperaturaRecomendada(-5);
congeladoAire2.setNitrogeno(18);
congeladoAire2.setOxigeno(20);
congeladoAire2.setDioxidoCarbono(22);
congeladoAire2.setVaporAgua(40);
congeladoAire2.muestraDatosProducto();
System.out.println("\n");
System.out.println("CONGELADO POR AGUA");
Calendar fecha15 = Calendar.getInstance();
fecha15.set(2019, 8, 11);
Calendar fecha16 = Calendar.getInstance();
fecha16.set(2014, 7, 10);
CongeladoAgua congeladoAgua1 = new CongeladoAgua(fecha15, "00034343", fecha16, "Paraguay");
congeladoAgua1.setTemperaturaRecomendada(-5);
congeladoAgua1.setSalinidaAgua(20);
congeladoAgua1.muestraDatosProducto();
System.out.println("\n");
Calendar fecha17 = Calendar.getInstance();
fecha15.set(2019, 8, 11);
Calendar fecha18 = Calendar.getInstance();
fecha18.set(2016, 7, 10);
CongeladoAgua congeladoAgua2 = new CongeladoAgua(fecha17, "00066565", fecha18, "Paraguay");
congeladoAgua2.setTemperaturaRecomendada(-2);
congeladoAgua2.setSalinidaAgua(30);
congeladoAgua2.muestraDatosProducto();
System.out.println("\n");
System.out.println("CONGELADO POR NITROGENO.");
Calendar fecha19 = Calendar.getInstance();
fecha19.set(2019, 4, 11);
Calendar fecha20 = Calendar.getInstance();
fecha20.set(2011, 4, 10);
//como no se los metodo de congelamieto le puse metodo1 para probar
CongeladoNitrogeno congeladoNitrogeno = new CongeladoNitrogeno(fecha19, "00032323", fecha20, "Paraguay");
congeladoNitrogeno.setTemperaturaRecomendada(-6);
congeladoNitrogeno.setMetodoCongelamiento("Metodo1");
congeladoNitrogeno.setTiempoExposicion("30");
congeladoNitrogeno.muestraDatosProducto();
System.out.println("\n");
System.out.println("LISTA DE PRODUCTO A ENVIAR.");
EnvioDeProductos listaEnvio = new EnvioDeProductos();
listaEnvio.addProducto(productoFresco1);
listaEnvio.addProducto(productoFresco2);
listaEnvio.addProducto(productoRefrigerado1);
listaEnvio.addProducto(productoRefrigerado2);
listaEnvio.addProducto(productoRefrigerado3);
listaEnvio.addProducto(congeladoAire1);
listaEnvio.addProducto(congeladoAire2);
listaEnvio.addProducto(congeladoAgua1);
listaEnvio.addProducto(congeladoAgua2);
listaEnvio.addProducto(congeladoNitrogeno);
listaEnvio.listarProductoEnvio();
}
}
Super clase producto
package testHerencia4;
import java.util.Calendar;
public class Producto {
private Calendar fechaCaducidad;
private String numeroLote;
private Calendar fechaEnvasado;
private String paisOrigen;
public Producto(Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
this.fechaCaducidad = fechaCaducidad;
this.numeroLote = numeroLote;
this.fechaEnvasado = fechaEnvasado;
this.paisOrigen = paisOrigen;
}
public Calendar getFechaCaducidad() {
return fechaCaducidad;
}
public void setFechaCaducidad(Calendar fechaCaducidad) {
this.fechaCaducidad = fechaCaducidad;
}
public String getNumeroLote() {
return numeroLote;
}
public void setNumeroLote(String numeroLote) {
this.numeroLote = numeroLote;
}
public Calendar getFechaEnvasado() {
return fechaEnvasado;
}
public void setFechaEnvasado(Calendar fechaEnvasado) {
this.fechaEnvasado = fechaEnvasado;
}
public String getPaisOrigen() {
return paisOrigen;
}
public void setPaisOrigen(String paisOrigen) {
this.paisOrigen = paisOrigen;
}
public void muestraDatosProducto() {
System.out.println("Número de lote " + getNumeroLote());
System.out.println("Fecha de caducidad: " + getFechaCaducidad());
System.out.println("Fecha de envazado: " + getFechaEnvasado());
System.out.println("Pais de origen: " + getPaisOrigen());
}
}[/code
[b]sub clase producto congelado[/b]
[code]package testHerencia4;
import java.util.Calendar;
public class ProductoCongelado extends Producto {
private double temperaturaRecomendada;
public ProductoCongelado(Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
}
public ProductoCongelado(double temperaturaRecomendada, Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
this.temperaturaRecomendada = temperaturaRecomendada;
}
public double getTemperaturaRecomendada() {
return temperaturaRecomendada;
}
public void setTemperaturaRecomendada(double temperaturaRecomendada) {
this.temperaturaRecomendada = temperaturaRecomendada;
}
public void muestraDatosProducto() {
System.out.println("Producto congelado de fecha de vencimiento " + getFechaCaducidad() + " con numero de lote " + getNumeroLote() + ""
+ " temperatura de congelación recomendada " + getTemperaturaRecomendada());
}
}[/code
[b]sub clase producto fresco[/b]
[code]package testHerencia4;
import java.util.Calendar;
public class ProductoFresco extends Producto {
public ProductoFresco(Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
}
public void muestraDatosProducto() {
System.out.println("Producto fresco con fecha de envasado " + getFechaEnvasado().getTime() + " con numero de lote " + getNumeroLote() + "\n"
+ " con fecha de vencimiento " + getFechaCaducidad().getTime() + " paìs de origen " + getPaisOrigen());
}
}
sub clase producto refrigerado
package testHerencia4;
import java.util.Calendar;
public class ProductoRefrigerado extends Producto {
private String orgSupAlimentaria;
private double temperaturaRecomendada;
public ProductoRefrigerado(Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
}
public ProductoRefrigerado(String orgSupAlimentaria, double temperaturaRecomendada, Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
this.orgSupAlimentaria = orgSupAlimentaria;
this.temperaturaRecomendada = temperaturaRecomendada;
}
public String getOrgSupAlimentaria() {
return orgSupAlimentaria;
}
public void setOrgSupAlimentaria(String orgSupAlimentaria) {
this.orgSupAlimentaria = orgSupAlimentaria;
}
public double getTemperaturaRecomendada() {
return temperaturaRecomendada;
}
public void setTemperaturaRecomendada(double temperaturaRecomendada) {
this.temperaturaRecomendada = temperaturaRecomendada;
}
public void muestraDatosProducto() {
System.out.println("Producto refrigerado con fecha de envasado " + getFechaEnvasado().getTime() + " fecha de vencimiento " + getFechaCaducidad().getTime() + " con numero de lote " + getNumeroLote() + "\n"
+ " código del organismo de supervisión alimentaria " + getOrgSupAlimentaria() + " temperatura recomendada de mantenimiento " + getTemperaturaRecomendada() + ""
+ " pais de origen " + getPaisOrigen());
}
}
Sub clase producto congelado
package testHerencia4;
import java.util.Calendar;
public class ProductoCongelado extends Producto {
private double temperaturaRecomendada;
public ProductoCongelado(Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
}
public ProductoCongelado(double temperaturaRecomendada, Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
this.temperaturaRecomendada = temperaturaRecomendada;
}
public double getTemperaturaRecomendada() {
return temperaturaRecomendada;
}
public void setTemperaturaRecomendada(double temperaturaRecomendada) {
this.temperaturaRecomendada = temperaturaRecomendada;
}
public void muestraDatosProducto() {
System.out.println("Producto congelado de fecha de vencimiento " + getFechaCaducidad() + " con numero de lote " + getNumeroLote() + ""
+ " temperatura de congelación recomendada " + getTemperaturaRecomendada());
}
}
sub clase producto congelado agua
package testHerencia4;
import java.util.Calendar;
public class CongeladoAgua extends ProductoCongelado {
private double salinidaAgua;
public CongeladoAgua(Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
}
public CongeladoAgua(double salinidaAgua, double temperaturaRecomendada, Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(temperaturaRecomendada, fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
this.salinidaAgua = salinidaAgua;
}
public double getSalinidaAgua() {
return salinidaAgua;
}
public void setSalinidaAgua(double salinidaAgua) {
this.salinidaAgua = salinidaAgua;
}
public void muestraDatosProducto() {
System.out.println("Producto congelado con agua de fecha de envasado " + getFechaEnvasado().getTime() + " con numero de lote " + getNumeroLote() + "\n"
+ " temperatura de congelación recomendada " + getTemperaturaRecomendada() + " con fecha de vencimiento " + getFechaCaducidad().getTime() + "\n"
+ " salinidad del agua de " + getSalinidaAgua() + "g" + " por litro de agua" + " de origen " + getPaisOrigen());
}
}
Sub clase producto congelado nitrógeno
package testHerencia4;
import java.util.Calendar;
public class CongeladoNitrogeno extends ProductoCongelado {
private String metodoCongelamiento;
private String tiempoExposicion;
public CongeladoNitrogeno(Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
}
public CongeladoNitrogeno(String metodoCongelamiento, String tiempoExposicion, double temperaturaRecomendada, Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(temperaturaRecomendada, fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
this.metodoCongelamiento = metodoCongelamiento;
this.tiempoExposicion = tiempoExposicion;
}
public String getMetodoCongelamiento() {
return metodoCongelamiento;
}
public void setMetodoCongelamiento(String metodoCongelamiento) {
this.metodoCongelamiento = metodoCongelamiento;
}
public String getTiempoExposicion() {
return tiempoExposicion;
}
public void setTiempoExposicion(String tiempoExposicion) {
this.tiempoExposicion = tiempoExposicion;
}
public void muestraDatosProducto() {
System.out.println("Producto congelado por nitrogeno de fecha de envasado " + getFechaEnvasado().getTime() + " con numero de lote " + getNumeroLote() + "\n"
+ " temperatura de congelación recomendada " + getTemperaturaRecomendada() + " con fecha de vencimiento " + getFechaCaducidad().getTime() + "\n"
+ " metodo de congelamiento " + getMetodoCongelamiento() + " pais de origen " + getPaisOrigen() + " tiempo de exposición al nitrógeno " + getTiempoExposicion() + "s");
}
}
Sub clase producto congelado aire
package testHerencia4;
import java.util.Calendar;
public class CongeladoAire extends ProductoCongelado {
double nitrogeno;
double oxigeno;
double dioxidoCarbono;
double vaporAgua;
public CongeladoAire(Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
}
public CongeladoAire(double nitrogeno, double oxigeno, double dioxidoCarbono, double vaporAgua, double temperaturaRecomendada, Calendar fechaCaducidad, String numeroLote, Calendar fechaEnvasado, String paisOrigen) {
super(temperaturaRecomendada, fechaCaducidad, numeroLote, fechaEnvasado, paisOrigen);
this.nitrogeno = nitrogeno;
this.oxigeno = oxigeno;
this.dioxidoCarbono = dioxidoCarbono;
this.vaporAgua = vaporAgua;
}
public double getNitrogeno() {
return nitrogeno;
}
public void setNitrogeno(double nitrogeno) {
this.nitrogeno = nitrogeno;
}
public double getOxigeno() {
return oxigeno;
}
public void setOxigeno(double oxigeno) {
this.oxigeno = oxigeno;
}
public double getDioxidoCarbono() {
return dioxidoCarbono;
}
public void setDioxidoCarbono(double dioxidoCarbono) {
this.dioxidoCarbono = dioxidoCarbono;
}
public double getVaporAgua() {
return vaporAgua;
}
public void setVaporAgua(double vaporAgua) {
this.vaporAgua = vaporAgua;
}
public void muestraDatosProducto() {
System.out.println("Producto congelado con aire con fecha de envasado " + getFechaEnvasado().getTime() + " con numero de lote " + getNumeroLote() + "\n"
+ " temperatura de congelación recomendada " + getTemperaturaRecomendada() + " con fecha de vencimiento " + getFechaCaducidad().getTime() + "\n"
+ " con una composicion de aire de congelado en % de " + " nitrogeno: " + getNitrogeno() + "% " + " oxigeno: " + getOxigeno() + "% " + "\n"
+ " dioxido de carbono: " + getDioxidoCarbono() + "% " + " vapor de agua: " + getVaporAgua() + "%");
}
}
Clase Envió producto
package testHerencia4;
import java.util.ArrayList;
import java.util.Iterator;
public class EnvioDeProductos {
private ArrayList<Producto> listaproducto;
public EnvioDeProductos() {
listaproducto = new ArrayList<Producto>();
}
public void addProducto(Producto producto) {
listaproducto.add(producto);
}
public void listarProductoEnvio() {
Iterator<Producto> it = listaproducto.iterator();
while (it.hasNext()) {
Producto dato = it.next();
dato.muestraDatosProducto();
System.out.println();
}
}
}