Autor Tema: Herencia simple, extends y super en Java. Constructores con herencia (CU00687B)  (Leído 3905 veces)

LuisM

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 131
    • Ver Perfil
Hola a todos, paso a publicar el código del ejercicio y 2 imagenes sobre la vinculacion entre las clases. Desde ya muchas gracias.
Saludos
Luis




Clase Herencia3 con el metodo main
Código: [Seleccionar]
import java.util.*; //Importación del código de la clase Scanner desde la biblioteca Java
public class TestHerencia3 {
    public static void main (String [ ] args) {
       TipoDeProducto tipoProducto=TipoDeProducto.FRESCO;
       TipoDeCongelado tipoCongelado=TipoDeCongelado.AIRE;
       Calendar fechaEnvasado;
       Calendar fechaCaducidad;
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       int dia=0;
       int mes=0;
       int anio=0;
      //
       ListaProductos lista = new ListaProductos("Lista de productos");
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       dia=8; mes=8; anio=2017;
       fechaEnvasado.set(Calendar.DAY_OF_MONTH,dia);
       fechaEnvasado.set(Calendar.MONTH,mes-1);
       fechaEnvasado.set(Calendar.YEAR,anio);
       dia=28; mes=8; anio=2017;
       fechaCaducidad.set(Calendar.DAY_OF_MONTH,dia);
       fechaCaducidad.set(Calendar.MONTH,mes-1);
       fechaCaducidad.set(Calendar.YEAR,anio);
       ProductoFresco prodFres1 = new ProductoFresco("PROD. FRESCO 1", 11, "ARGENTINA", tipoProducto.FRESCO, fechaEnvasado, fechaCaducidad);
       lista.addLista("PROD. FRESCO 1", 11, "ARGENTINA", tipoProducto.FRESCO, fechaEnvasado, fechaCaducidad);
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       dia=9; mes=8; anio=2017;
       fechaEnvasado.set(Calendar.DAY_OF_MONTH,dia);
       fechaEnvasado.set(Calendar.MONTH,mes-1);
       fechaEnvasado.set(Calendar.YEAR,anio);
       dia=29; mes=8; anio=2017;
       fechaCaducidad.set(Calendar.DAY_OF_MONTH,dia);
       fechaCaducidad.set(Calendar.MONTH,mes-1);
       fechaCaducidad.set(Calendar.YEAR,anio);
       ProductoFresco prodFres2 = new ProductoFresco("PROD. FRESCO 2", 12, "CHILE", tipoProducto.FRESCO, fechaEnvasado, fechaCaducidad);
       lista.addLista("PROD. FRESCO 2", 12, "CHILE", tipoProducto.FRESCO, fechaEnvasado, fechaCaducidad);
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       dia=10; mes=9; anio=2017;
       fechaEnvasado.set(Calendar.DAY_OF_MONTH,dia);
       fechaEnvasado.set(Calendar.MONTH,mes-1);
       fechaEnvasado.set(Calendar.YEAR,anio);
       dia=22; mes=10; anio=2017;
       fechaCaducidad.set(Calendar.DAY_OF_MONTH,dia);
       fechaCaducidad.set(Calendar.MONTH,mes-1);
       fechaCaducidad.set(Calendar.YEAR,anio);
       ProductoRefrigerado prodRefr1 = new ProductoRefrigerado("PROD. REFRIGERADO 1", 21, "URUGUAY", tipoProducto.REFRIGERADO, fechaEnvasado, fechaCaducidad, 1.5, "ORG.SUPERVISION 1");
       lista.addLista("PROD. REFRIGERADO 1", 21, "URUGUAY", tipoProducto.REFRIGERADO, fechaEnvasado, fechaCaducidad);
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       dia=11; mes=9; anio=2017;
       fechaEnvasado.set(Calendar.DAY_OF_MONTH,dia);
       fechaEnvasado.set(Calendar.MONTH,mes-1);
       fechaEnvasado.set(Calendar.YEAR,anio);
       dia=31; mes=10; anio=2017;
       fechaCaducidad.set(Calendar.DAY_OF_MONTH,dia);
       fechaCaducidad.set(Calendar.MONTH,mes-1);
       fechaCaducidad.set(Calendar.YEAR,anio);
       ProductoRefrigerado prodRefr2 = new ProductoRefrigerado("PROD. REFRIGERADO 2", 22, "BOLIVIA", tipoProducto.REFRIGERADO, fechaEnvasado, fechaCaducidad, 1.6, "ORG.SUPERVISION 2");
       lista.addLista("PROD. REFRIGERADO 2", 22, "BOLIVIA", tipoProducto.REFRIGERADO, fechaEnvasado, fechaCaducidad);
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       dia=5; mes=9; anio=2017;
       fechaEnvasado.set(Calendar.DAY_OF_MONTH,dia);
       fechaEnvasado.set(Calendar.MONTH,mes-1);
       fechaEnvasado.set(Calendar.YEAR,anio);
       dia=25; mes=10; anio=2017;
       fechaCaducidad.set(Calendar.DAY_OF_MONTH,dia);
       fechaCaducidad.set(Calendar.MONTH,mes-1);
       fechaCaducidad.set(Calendar.YEAR,anio);
       ProductoRefrigerado prodRefr3 = new ProductoRefrigerado("PROD. REFRIGERADO 3", 23, "PARAGUAY", tipoProducto.REFRIGERADO, fechaEnvasado, fechaCaducidad, 1.7, "ORG.SUPERVISION 3");
       lista.addLista("PROD. REFRIGERADO 3", 23, "PARAGUAY", tipoProducto.REFRIGERADO, fechaEnvasado, fechaCaducidad);
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       dia=7; mes=8; anio=2017;
       fechaEnvasado.set(Calendar.DAY_OF_MONTH,dia);
       fechaEnvasado.set(Calendar.MONTH,mes-1);
       fechaEnvasado.set(Calendar.YEAR,anio);
       dia=27; mes=12; anio=2017;
       fechaCaducidad.set(Calendar.DAY_OF_MONTH,dia);
       fechaCaducidad.set(Calendar.MONTH,mes-1);
       fechaCaducidad.set(Calendar.YEAR,anio);
       ProductoCongeladoPorAgua prodCongAgua1 = new ProductoCongeladoPorAgua("PROD. CONG x AGUA 1", 31, "PERU", tipoProducto.CONGELADO, fechaEnvasado, fechaCaducidad, -10.5, tipoCongelado.AGUA, 20);
       lista.addLista("PROD. CONG x AGUA 1", 31, "PERU", tipoProducto.CONGELADO, fechaEnvasado, fechaCaducidad);
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       dia=9; mes=8; anio=2017;
       fechaEnvasado.set(Calendar.DAY_OF_MONTH,dia);
       fechaEnvasado.set(Calendar.MONTH,mes-1);
       fechaEnvasado.set(Calendar.YEAR,anio);
       dia=29; mes=1; anio=2018;
       fechaCaducidad.set(Calendar.DAY_OF_MONTH,dia);
       fechaCaducidad.set(Calendar.MONTH,mes-1);
       fechaCaducidad.set(Calendar.YEAR,anio);
       ProductoCongeladoPorAgua prodCongAgua2 = new ProductoCongeladoPorAgua("PROD. CONG x AGUA 2", 32, "ECUADOR", tipoProducto.CONGELADO, fechaEnvasado, fechaCaducidad, -10.6, tipoCongelado.AGUA, 21);
       lista.addLista("PROD. CONG x AGUA 2", 32, "ECUADOR", tipoProducto.CONGELADO, fechaEnvasado, fechaCaducidad);
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       dia=3; mes=8; anio=2017;
       fechaEnvasado.set(Calendar.DAY_OF_MONTH,dia);
       fechaEnvasado.set(Calendar.MONTH,mes-1);
       fechaEnvasado.set(Calendar.YEAR,anio);
       dia=31; mes=12; anio=2017;
       fechaCaducidad.set(Calendar.DAY_OF_MONTH,dia);
       fechaCaducidad.set(Calendar.MONTH,mes-1);
       fechaCaducidad.set(Calendar.YEAR,anio);
       ProductoCongeladoPorAire prodCongAire1 = new ProductoCongeladoPorAire("PROD. CONG x AIRE 1", 41, "BRASIL", tipoProducto.CONGELADO, fechaEnvasado, fechaCaducidad, -10.7, tipoCongelado.AIRE, 1, 2, 3, 4);
       lista.addLista("PROD. CONG x AIRE 1", 41, "BRASIL", tipoProducto.CONGELADO, fechaEnvasado, fechaCaducidad);
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       dia=4; mes=8; anio=2017;
       fechaEnvasado.set(Calendar.DAY_OF_MONTH,dia);
       fechaEnvasado.set(Calendar.MONTH,mes-1);
       fechaEnvasado.set(Calendar.YEAR,anio);
       dia=24; mes=12; anio=2017;
       fechaCaducidad.set(Calendar.DAY_OF_MONTH,dia);
       fechaCaducidad.set(Calendar.MONTH,mes-1);
       fechaCaducidad.set(Calendar.YEAR,anio);
       ProductoCongeladoPorAire prodCongAire2 = new ProductoCongeladoPorAire("PROD. CONG x AIRE 2", 42, "COLOMBIA", tipoProducto.CONGELADO, fechaEnvasado, fechaCaducidad, -10.8, tipoCongelado.AIRE, 5, 6, 7, 8);               
       lista.addLista("PROD. CONG x AIRE 2", 42, "COLOMBIA", tipoProducto.CONGELADO, fechaEnvasado, fechaCaducidad);
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       dia=5; mes=8; anio=2017;
       fechaEnvasado.set(Calendar.DAY_OF_MONTH,dia);
       fechaEnvasado.set(Calendar.MONTH,mes-1);
       fechaEnvasado.set(Calendar.YEAR,anio);
       dia=25; mes=12; anio=2017;
       fechaCaducidad.set(Calendar.DAY_OF_MONTH,dia);
       fechaCaducidad.set(Calendar.MONTH,mes-1);
       fechaCaducidad.set(Calendar.YEAR,anio);
       ProductoCongeladoPorNitrogeno prodCongNitrogeno1 = new ProductoCongeladoPorNitrogeno("PROD. CONG x NITROGENO 1", 51, "VENEZUELA", tipoProducto.CONGELADO, fechaEnvasado, fechaCaducidad, -10.9, tipoCongelado.NITROGENO, 10, "METODO NITROGENO");
       lista.addLista("PROD. CONG x NITROGENO 1", 51, "VENEZUELA", tipoProducto.CONGELADO, fechaEnvasado, fechaCaducidad);
       Iterator <Producto> it=lista.iterator();
        while(it.hasNext()){
            Producto itemLista;
            itemLista=(Producto)it.next(); // objeto de la lista que estamos viendo
            dia = itemLista.getFechaEnvasado().get(Calendar.DAY_OF_MONTH);
            mes = itemLista.getFechaEnvasado().get(Calendar.MONTH)+1;
            anio = itemLista.getFechaEnvasado().get(Calendar.YEAR);
            String strFechaEnvasado = dia+"/"+mes+"/"+anio;
            dia = itemLista.getFechaCaducidad().get(Calendar.DAY_OF_MONTH);
            mes = itemLista.getFechaCaducidad().get(Calendar.MONTH)+1;
            anio = itemLista.getFechaCaducidad().get(Calendar.YEAR);
            String strFechaCaducidad = dia+"/"+mes+"/"+anio;
            System.out.println(itemLista.getNombreProducto()+"  lote :"+itemLista.getNroLote() + "  origen :"+itemLista.getPaisOrigen()+"  tipo :"+itemLista.getTipoDeProducto()+ "  envasado :"+strFechaEnvasado+"  Vence :"+strFechaCaducidad);
        }
    }
}

Clase super Producto
Código: [Seleccionar]
import java.util.*;

/**
 * Write a description of class Producto here.
 *
 * @author Luis
 * @version CU00687B
 */
public class Producto
{
    // instance variables - replace the example below with your own
    public String nombreProducto;
    public int nroLote;
    public String paisOrigen;
    TipoDeProducto tipoProducto;
    Calendar fechaEnvasado;
    Calendar fechaCaducidad;
   
    /**
     * Constructor for objects of class Productos
     */
    public Producto()
    {
        // initialise instance variables
        nombreProducto = "";
        nroLote = 0;
        paisOrigen = "";
        fechaEnvasado.getInstance();
        fechaCaducidad.getInstance();
    }
   
    public Producto(String nombreProducto, int nroLote, String paisOrigen, TipoDeProducto tipoProducto, Calendar fechaEnvasado, Calendar fechaCaducidad){
        this.nombreProducto=nombreProducto;
        this.nroLote=nroLote;
        this.paisOrigen=paisOrigen;
        this.tipoProducto=tipoProducto;
        this.fechaEnvasado=fechaEnvasado;
        this.fechaCaducidad=fechaCaducidad;
    }
    // metodos setters
     /**
     * @param nombreProducto Descripcion del producto
     */
    public void setNombreProducto(String nombreProducto){
       this.nombreProducto=nombreProducto;
    }
     /**
     * @param nroLote Numero de lote del producto
     */
    public void setNroLote(int nroLote){
        this.nroLote=nroLote;
    }
     /**
     * @param tipoProducto enun FRESCO, REFRIGERADO, CONGELADO
     */
    public void setTipoProducto(TipoDeProducto tipoProducto) {
       this.tipoProducto=tipoProducto;
    }
     /**
     * @param paisOrigen Nombre del pais de origen del producto
     */
    public void setPaisOrigen(String xPais){
        this.paisOrigen = paisOrigen;
    }
     public void setFechaEnvasado(Calendar fechaEnvasado){
        this.fechaEnvasado = fechaEnvasado;
    }
    public void setFechaCaducidad(Calendar fechaCaducidad){
        this.fechaCaducidad = fechaCaducidad;
    }
    // metodos getters
    /**
    * @return Nombre del producto (String)
    */
    public String getNombreProducto(){
        return nombreProducto;
    }
    /**
    * @return Número de lote (int)
    */
    public int getNroLote(){
        return nroLote;
    }
    /**
    * @return Nombre del producto (String)
    */
    public String getPaisOrigen(){
        return paisOrigen;
    }
    /**
    * @return El tipo de producto (enum)
    */
    public TipoDeProducto getTipoDeProducto(){
        return tipoProducto;               
    }
    /**
     * @return Fecha de envasado del producto (Calendar)
     */
    public Calendar getFechaEnvasado(){
        return fechaEnvasado;
    }

    /**
     * @return Fecha de vencimiento del producto (Calendar)
     */
    public Calendar getFechaCaducidad(){
        return fechaCaducidad;
    }
}
Clases ProductoFresco y ProductoConservadoEnFrio que heredan de Producto
Código: [Seleccionar]
import java.util.*;

/**
 * Write a description of class ProductoFresco here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoFresco extends Producto {
    public ProductoFresco() {
    }
    public ProductoFresco(String nomProd, int lote, String xPais, TipoDeProducto tipoDeProducto, Calendar fechaEnvasado, Calendar fechaCaducidad) {
        super(nomProd, lote, xPais, tipoDeProducto, fechaEnvasado, fechaCaducidad);
    }
}

Código: [Seleccionar]
import java.util.*;
/**
 * Write a description of class ProductoConservadoEnFrio here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoConservadoEnFrio extends Producto
{
    private double temperaturaMantenimiento;
    public ProductoConservadoEnFrio() {
    }
    public ProductoConservadoEnFrio(String nomProd, int lote, String xPais, TipoDeProducto tipoProducto, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento) {
        // initialise instance variables
       super(nomProd, lote, xPais, tipoProducto, fechaEnvasado, fechaCaducidad);
       this.temperaturaMantenimiento=temperaturaMantenimiento;
    }
    /**
     * @param codigoOrganismoSupervision El Organismo que controla el producto
     */
    /**
     * @param temperaturaMantenimiento La temperatura para mantener el producto refrigerado
     */
    public void setTemperaturaMantenimiento(double temperaturaMantenimiento){
    this.temperaturaMantenimiento = temperaturaMantenimiento;
    }
     /**
     * @return La temperatura para mantener el producto refrigerado (double)
     */
    public double getTemperaturaMantenimiento() {
        return temperaturaMantenimiento;
    }
}

Clases ProductoRefrigerado y ProductoCongelado que heredan de ProductoConservadoEnFrio
Código: [Seleccionar]
import java.util.*;
/**
 * Write a description of class ProductoRefrigerado here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoRefrigerado extends ProductoConservadoEnFrio
{
    public String organismoSupervision;
    public ProductoRefrigerado() {
    }
    public ProductoRefrigerado(String nomProd, int lote, String xPais, TipoDeProducto tipoProducto, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, String organismoSupervision) {
        // initialise instance variables
       super(nomProd, lote, xPais, tipoProducto, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
       this.organismoSupervision=organismoSupervision;
    }
    /**
     * @param codigoOrganismoSupervision El Organismo que controla el producto
     */
    public void setOrganismoSupervision(String codigoOrganismoSupervision){
    this.organismoSupervision = organismoSupervision;
    }
     /**
     * @return El Organismo que controla el producto (String)   
     */
    public String getOrganismoSupervision() {
        return organismoSupervision;
    }
}
Código: [Seleccionar]
import java.util.*;
/**
 * Write a description of class ProductoCongelado here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoCongelado extends ProductoConservadoEnFrio {
    TipoDeCongelado tipoCongelado;
    public ProductoCongelado() {
    }
    public ProductoCongelado(String nomProd, int lote, String xPais, TipoDeProducto tipoProducto, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, TipoDeCongelado tipoCongelado) {
       super(nomProd, lote, xPais, tipoProducto, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
       this.tipoCongelado=tipoCongelado;
    }
    /**
     * @param tipoCongelado enun AIRE, AGUA, NITROGENO
     */
    public void setTipoCongelado(TipoDeCongelado tipoCongelado) {
        this.tipoCongelado = tipoCongelado;
    }
       /**
    * @return El tipo de congelado (enum)
    */
    public TipoDeCongelado getTipoDeCongelado(){
        return tipoCongelado;               
    }
}

Clases ProductoCongeladoPorAgua, ProductoCongeladoPorAire y ProductoCongeladoPorNitrogeno que heredan de ProductoCongelado
Código: [Seleccionar]
import java.util.*;
/**
 * Write a description of class ProductoCongeladoPorAgua here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoCongeladoPorAgua extends ProductoCongelado {
    int salinidadAgua=0;
    public ProductoCongeladoPorAgua() {
    }
    public ProductoCongeladoPorAgua(String nomProd, int lote, String xPais, TipoDeProducto tipoProducto, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, TipoDeCongelado tipoCongelado, int salinidadAgua ) {
       super(nomProd, lote, xPais, tipoProducto, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento, tipoCongelado);
    }
    /**
    * @param salinidadAgua Salinidad del agua 
    */
    public void setSalinidadAgua(int salinidadAgua){
        this.salinidadAgua=salinidadAgua;               
    }
    /**
    * @return La salinidad del agua  (int)
    */
    public int getSalinidadAgua(){
        return salinidadAgua;               
    }
}
Código: [Seleccionar]
import java.util.*;
/**
 * Write a description of class ProductoCongeladoPorAire here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoCongeladoPorAire extends ProductoCongelado {
    float valorN=0;
    float valorO=0;
    float valorCO2=0;
    float valorH2O=0;
    public ProductoCongeladoPorAire() {
    }
    public ProductoCongeladoPorAire(String nomProd, int lote, String xPais, TipoDeProducto tipoDeProducto, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, TipoDeCongelado tipoCongelado, float valorN, float valorO, float valorCO2, float valorH2O ) {
       super(nomProd, lote, xPais, tipoDeProducto, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento, tipoCongelado);
    }
    /**
    * @param valorN El porcentaje de Nitrogeno 
    */
    public void setPorcentajeN(float valorN){
        this.valorN=valorN;               
    }
    /**
    * @param valorO El porcentaje de Oxigeno
    */
    public void setPorcentajeO(float valorO){
        this.valorO=valorO;               
    }
    /**
    * @param valorCO2 El porcentaje de CO2
    */
    public void setPorcentajeCO2(float valorCO2){
        this.valorCO2=valorCO2;               
    }
    /**
    * @param valorH2O El porcentaje de vapor de H2O
    */
    public void setPorcentajeH2O(float valorH2O){
        this.valorH2O=valorH2O;               
    }
    /**
    * @return El porcentaje de Nitrogeno  (float)
    */
    public float getPorcentajeN(){
        return valorN;               
    }
    /**
    * @return El porcentaje de Oxigeno  (float)
    */
    public float getPorcentajeO(){
        return valorO;               
    }
    /**
    * @return El porcentaje de CO2  (float)
    */
    public float getPorcentajeCO2(){
        return valorCO2;               
    }
    /**
    * @return El porcentaje de Vapor de H2O  (float)
    */
    public float getPorcentajeH2O(){
        return valorH2O;               
    }
}

LuisM

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 131
    • Ver Perfil
Herencia simple, extends y super en Java. (CU00687B) Parte 2 del ejercicio.
« Respuesta #1 en: 06 de Septiembre 2017, 14:25 »
Clase CongeladoPorNitrogeno
Código: [Seleccionar]
import java.util.*;
/**
 * Write a description of class ProductoCongeladoPorNitrogeno here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoCongeladoPorNitrogeno extends ProductoCongelado {
    int tiempoExposicion=0;
    String metodoCongeladoNitrogeno ="";
    public ProductoCongeladoPorNitrogeno() {
    }
    public ProductoCongeladoPorNitrogeno(String nomProd, int lote, String xPais, TipoDeProducto tipoDeProducto, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, TipoDeCongelado tipoCongelado, int tiempoExposicion, String metodoCongeladoNitrogeno) {
       super(nomProd, lote, xPais, tipoDeProducto, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento, tipoCongelado);
    }
    /**
    * @param tiempoExposicion El tiempo de exposicion
    */
    public void setTiempoExposicion(int tiempoExposicion){
        this.tiempoExposicion=tiempoExposicion;               
    }
    /**
    * @param metodoCongeladoNitrogeno El método usado para congelar por Nitrogeno
    */
    public void setMetodoCongeladoNitrogeno(String metodoCongeladoNitrogeno){
        this.metodoCongeladoNitrogeno=metodoCongeladoNitrogeno;               
    }
    /**
    * @return El tiempo de exposición  (int)
    */
    public int getTiempoExposicion(){
        return tiempoExposicion;               
    }
    /**
    * @return El método usado para congelar usando Nitrogeno  (String)
    */
    public String getMetodoCongeladoNitrogeno(){
        return metodoCongeladoNitrogeno;               
    }
}
y por ultimo las clases enum utilizadas
Código: [Seleccionar]

/**
 * Enumeration class TipoDeProducto - write a description of the enum class here
 *
 * @author Luis
 * @version CU00687B
 */
public enum TipoDeProducto
{
    FRESCO,REFRIGERADO,CONGELADO
}

Código: [Seleccionar]

/**
 * Enumeration class TipoDeCongelado - write a description of the enum class here
 *
 * @author Luis
 * @version CU00687B
 */
public enum TipoDeCongelado
{
    AGUA,AIRE,NITROGENO
}

LuisM

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 131
    • Ver Perfil
Re:Herencia simple, extends y super en Java. (CU00687B) Parte 2 del ejercicio.
« Respuesta #2 en: 11 de Septiembre 2017, 14:08 »
Esta clase es la que lista los productos y me faltó poner. Gracias a que estaba viendo el código para el ejercicio siguiente(CU00688B) me di cuenta que omití subirla.

Código: [Seleccionar]
//Ejemplo de uso ArrayList aprenderaprogramar.com
import java.util.*; //Los import deben ir siempre al principio antes de declarar la clase
//Esta clase representa una lista de nombres manejada con la clase ArrayList de Java
public class ListaProductos {
    private String nombreDeLaLista; //Establecemos un atributo nombre de la lista
    private ArrayList<Producto> listaDeProductos; //Declaramos un ArrayList que contiene objetos String
    public ListaProductos (String nombre) {    //Constructor: crea una lista de nombres vacía
        nombreDeLaLista = nombre;
        listaDeProductos = new ArrayList<Producto>(); //Creamos el objeto de tipo ArrayList
    } //Cierre del constructor

    public void addLista(String nomProd, int lote, String xPais, TipoDeProducto tipoProducto, Calendar fechaEnvasado, Calendar fechaCaducidad) {
        Producto producto = new Producto(nomProd, lote, xPais, tipoProducto, fechaEnvasado, fechaCaducidad);
        listaDeProductos.add(producto);
    } //Cierre del método

    public int getTamanio () { return listaDeProductos.size(); } //Cierre del método
   
    Iterator<Producto>iterator() {   return listaDeProductos.iterator();}
   
    public void removeNombre (int posicion) {  //Método
        if (posicion >= 0 && posicion < listaDeProductos.size() ) {
            listaDeProductos.remove(posicion); }
        else { } //else vacío. No existe nombre para la posición solicitada, no se ejecuta ninguna instrucción
    } //Cierre del método removeNombre
} //Cierre de la clase

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola LuisM el ejercicio está bien trabajado. Lo único que echo en falta es que de alguna manera uses el esquema de herencia para reutilizar código en los métodos, no solo en los constructores.

En este hilo puedes ver un ejemplo de solución de este ejercicio https://www.aprenderaprogramar.com/foros/index.php?topic=2342.0

En ese ejemplo, puedes ver cómo en subclases se usan métodos como por ejemplo public void imprimirProductoR en la clase ProductoRefrigerado, donde se reutiliza código invocando métodos de superclases. Esa es una idea importante de aplicar cuando se trabaja con herencia en Java.

Saludos

LuisM

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 131
    • Ver Perfil
Hola Alex !! Primero quiero agradecerte por tu tiempo en la corrección que por cierto fue bastante benévola conmigo :). Desde ya, muchisimas gracias por todo.
Con respecto al ejercicio que pusiste como ejemplo (muy bien planteado y resuelto), y comparándolo con  el mio, noté que lamentablemente lo resolví para la impresión en forma incompleta ya que usé una sola lista con los datos de la clase super Producto. Por lo tanto, tuve que reescribir el código de las clases para que se muestre herencia en atributos y principalmente en métodos y poder listar todos los productos con todos sus detalles.
Habrás notado que usé 2 clases enum que quedaron como "adornos" porque en una primera programación era una forma de chequear que lo que se ingresaba por consola era acorde a las clases definidas. Decidí no borrarlas y me tomé la licencia de usarlas de esta forma: en la clase enum TipoDeProducto (FRESCO, REFRIGERADO, CONGELADO) definí el plazo de caducidad, que para los frescos son 7 dias, refrigerados 15 dias y congelados 90 dias, y así poder calcular la fecha de caducidad por código. Para la clase enum TipoDeCongelado (AIRE,AGUA,NITROGENO) definí la temperatura de congelamiento según el método usado y evitar la carga del mismo.
También usé una clase para manejar las fechas como Calendar y tratar que la clase Test (método main) solo tenga la carga en lote de los productos y tratando de hacerla lo mas simple posible.
A continuación dejo las clases usadas.
Cordialmente,
Luis
Clase TestHerencia3
Código: [Seleccionar]
import java.util.Calendar;
public class TestHerencia3 {
    public static void main (String [ ] args) {
       TipoDeProducto tipoProducto=TipoDeProducto.FRESCO;
       TipoDeCongelado tipoCongelado=TipoDeCongelado.AIRE;
      //
       Calendar fechaEnvasado;
       Calendar fechaCaducidad;
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       ListaProductos lista = new ListaProductos("Lista de productos");
       // carga de productos
       FechasProducto fecha = new FechasProducto();
       
       fecha.setFechaEnvasado(8,8,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.FRESCO.getPlazoDuracion());
       ProductoFresco prodFres1 = new ProductoFresco("PROD. FRESCO 1", 11, "ARGENTINA", fechaEnvasado, fechaCaducidad);
       lista.addListaFrescos("PROD. FRESCO 1", 11, "ARGENTINA", fechaEnvasado, fechaCaducidad);

       fecha.setFechaEnvasado(13,8,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.FRESCO.getPlazoDuracion());
       ProductoFresco prodFres2 = new ProductoFresco("PROD. FRESCO 2", 12, "CHILE", fechaEnvasado, fechaCaducidad);
       lista.addListaFrescos("PROD. FRESCO 2", 12, "CHILE", fechaEnvasado, fechaCaducidad);

       fecha.setFechaEnvasado(18,8,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.REFRIGERADO.getPlazoDuracion());
       ProductoRefrigerado prodRefr1 = new ProductoRefrigerado("PROD. REFRIGERADO 1", 21, "URUGUAY", fechaEnvasado, fechaCaducidad, 1.5, "ORG.SUPERVISION 1");
       lista.addListaRefrigerados("PROD. REFRIGERADO 1", 21, "URUGUAY", fechaEnvasado, fechaCaducidad, 1.5, "ORG.SUPERVISION 1");
       
       fecha.setFechaEnvasado(23,8,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.REFRIGERADO.getPlazoDuracion());
       ProductoRefrigerado prodRefr2 = new ProductoRefrigerado("PROD. REFRIGERADO 2", 22, "BOLIVIA", fechaEnvasado, fechaCaducidad, 2.6, "ORG.SUPERVISION 2");
       lista.addListaRefrigerados("PROD. REFRIGERADO 2", 22, "BOLIVIA", fechaEnvasado, fechaCaducidad, 1.6, "ORG.SUPERVISION 2");

       fecha.setFechaEnvasado(28,8,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.REFRIGERADO.getPlazoDuracion());
       ProductoRefrigerado prodRefr3 = new ProductoRefrigerado("PROD. REFRIGERADO 3", 23, "PARAGUAY", fechaEnvasado, fechaCaducidad, 3.7, "ORG.SUPERVISION 3");
       lista.addListaRefrigerados("PROD. REFRIGERADO 3", 23, "PARAGUAY", fechaEnvasado, fechaCaducidad, 1.7, "ORG.SUPERVISION 3");

       fecha.setFechaEnvasado(2,9,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.CONGELADO.getPlazoDuracion());
       ProductoCongeladoPorAgua prodCongAgua1 = new ProductoCongeladoPorAgua("PROD. CONG x AGUA 1", 31, "PERU", fechaEnvasado, fechaCaducidad, tipoCongelado.AGUA.getTemperaturaCongelado(), 20);
       lista.addListaCongeladosPorAgua("PROD. CONG x AGUA 1", 31, "PERU", fechaEnvasado, fechaCaducidad, tipoCongelado.AGUA.getTemperaturaCongelado(), 20);

       fecha.setFechaEnvasado(7,9,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.CONGELADO.getPlazoDuracion());
       ProductoCongeladoPorAgua prodCongAgua2 = new ProductoCongeladoPorAgua("PROD. CONG x AGUA 2", 32, "ECUADOR", fechaEnvasado, fechaCaducidad, tipoCongelado.AGUA.getTemperaturaCongelado(), 21);
       lista.addListaCongeladosPorAgua("PROD. CONG x AGUA 2", 32, "ECUADOR", fechaEnvasado, fechaCaducidad,  tipoCongelado.AGUA.getTemperaturaCongelado(), 21);

       fecha.setFechaEnvasado(12,9,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.CONGELADO.getPlazoDuracion());
       ProductoCongeladoPorAire prodCongAire1 = new ProductoCongeladoPorAire("PROD. CONG x AIRE 1", 41, "BRASIL", fechaEnvasado, fechaCaducidad, tipoCongelado.AIRE.getTemperaturaCongelado(), 1, 2, 3, 4);
       lista.addListaCongeladosPorAire("PROD. CONG x AIRE 1", 41, "BRASIL", fechaEnvasado, fechaCaducidad, tipoCongelado.AIRE.getTemperaturaCongelado(), 1, 2, 3, 4);

       fecha.setFechaEnvasado(17,9,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.CONGELADO.getPlazoDuracion());
       ProductoCongeladoPorAire prodCongAire2 = new ProductoCongeladoPorAire("PROD. CONG x AIRE 2", 42, "COLOMBIA", fechaEnvasado, fechaCaducidad, tipoCongelado.AIRE.getTemperaturaCongelado(), 5, 6, 7, 8);               
       lista.addListaCongeladosPorAire("PROD. CONG x AIRE 2", 42, "COLOMBIA", fechaEnvasado, fechaCaducidad, tipoCongelado.AIRE.getTemperaturaCongelado(), 5, 6, 7, 8);

       fecha.setFechaEnvasado(22,9,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.CONGELADO.getPlazoDuracion());
       ProductoCongeladoPorNitrogeno prodCongNitrogeno1 = new ProductoCongeladoPorNitrogeno("PROD. CONG x NITROGENO 1", 51, "VENEZUELA", fechaEnvasado, fechaCaducidad, tipoCongelado.NITROGENO.getTemperaturaCongelado(), 10, "METODO NITROGENO");
       lista.addListaCongeladosPorNitrogeno("PROD. CONG x NITROGENO 1", 51, "VENEZUELA", fechaEnvasado, fechaCaducidad, tipoCongelado.NITROGENO.getTemperaturaCongelado(), 10, "METODO NITROGENO");
       // lista de productos
       lista.listaProductosFrescos();
       lista.listaProductosRefrigerados();
       lista.listaProductosCongeladosPorAgua();
       lista.listaProductosCongeladosPorAire();
       lista.listaProductosCongeladosPorNitrogeno();
    }
}
Clase ListaProductos
Código: [Seleccionar]
import java.util.*;
public class ListaProductos {
    private ArrayList<ProductoFresco> listaDeProductosFrescos;
    private ArrayList<ProductoRefrigerado> listaDeProductosRefrigerados;
    private ArrayList<ProductoCongeladoPorAgua> listaDeProductosCongeladosPorAgua;
    private ArrayList<ProductoCongeladoPorAire> listaDeProductosCongeladosPorAire;
    private ArrayList<ProductoCongeladoPorNitrogeno> listaDeProductosCongeladosPorNitrogeno;
    public ListaProductos (String nombre) {    //Constructor: crea una lista de nombres vacía
        listaDeProductosFrescos = new ArrayList<ProductoFresco>();
        listaDeProductosRefrigerados = new ArrayList<ProductoRefrigerado>();
        listaDeProductosCongeladosPorAgua = new ArrayList<ProductoCongeladoPorAgua>();
        listaDeProductosCongeladosPorAire = new ArrayList<ProductoCongeladoPorAire>();
        listaDeProductosCongeladosPorNitrogeno = new ArrayList<ProductoCongeladoPorNitrogeno>();
    } //Cierre del constructor

    public void addListaFrescos(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad) {
        ProductoFresco productoFresco = new ProductoFresco(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad);
        listaDeProductosFrescos.add(productoFresco);
    } //Cierre del método
   
    public void addListaRefrigerados(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, String organismoSupervision) {
        ProductoRefrigerado productoR = new ProductoRefrigerado(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento, organismoSupervision);
        listaDeProductosRefrigerados.add(productoR);
    } //Cierre del método

    public void addListaCongeladosPorAgua(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, int salinidadAgua) {
        ProductoCongeladoPorAgua productoCongAgua = new ProductoCongeladoPorAgua(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento, salinidadAgua);
        listaDeProductosCongeladosPorAgua.add(productoCongAgua);
    } //Cierre del método

    public void addListaCongeladosPorAire(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, float valorN, float valorO, float valorCO2, float valorH2O) {
        ProductoCongeladoPorAire productoCongAire = new ProductoCongeladoPorAire(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento, valorN, valorO, valorCO2, valorH2O);
        listaDeProductosCongeladosPorAire.add(productoCongAire);
    } //Cierre del método

    public void addListaCongeladosPorNitrogeno(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, int tiempoExposicion, String metodoEmpleado) {
        ProductoCongeladoPorNitrogeno productoCongNitrogeno = new ProductoCongeladoPorNitrogeno(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento, tiempoExposicion, metodoEmpleado);
        listaDeProductosCongeladosPorNitrogeno.add(productoCongNitrogeno);
    } //Cierre del método
   
    public void listaProductosFrescos(){
        System.out.println("------------- PRODUCTOS FRESCOS --------------");
        for (ProductoFresco tmp:listaDeProductosFrescos){
        tmp.listaProductoFresco();
        System.out.println("");}
    }
   
    public void listaProductosRefrigerados(){
        System.out.println("----------- PRODUCTOS REFRIGERADOS -----------");
        for (ProductoRefrigerado tmp:listaDeProductosRefrigerados){
        tmp.listaProductoRefrigerado();
        System.out.println("");}
    }
    public void listaProductosCongeladosPorAgua(){
        System.out.println("------- PRODUCTOS CONGELADOS POR AGUA --------");
        for (ProductoCongeladoPorAgua tmp:listaDeProductosCongeladosPorAgua){
        tmp.listaProductoCongeladoPorAgua();
        System.out.println("");}
    }
    public void listaProductosCongeladosPorAire(){       
        System.out.println("------- PRODUCTOS CONGELADOS POR AIRE --------");
        for (ProductoCongeladoPorAire tmp:listaDeProductosCongeladosPorAire){
        tmp.listaProductoCongeladoPorAire();
        System.out.println("");}
    }
    public void listaProductosCongeladosPorNitrogeno(){       
        System.out.println("----- PRODUCTOS CONGELADOS POR NITROGENO -----");
        for (ProductoCongeladoPorNitrogeno tmp:listaDeProductosCongeladosPorNitrogeno){
        tmp.listaProductoCongeladoPorNitrogeno();
        System.out.println("");}
    }

} //Cierre de la clase
Clase Producto
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class Producto here.
 *
 * @author Luis
 * @version CU00686B
 */
public class Producto
{
    // instance variables - replace the example below with your own
    public String nombreProducto;
    public int nroLote;
    public String paisOrigen;
    Calendar fechaEnvasado;
    Calendar fechaCaducidad;
    /**
     * Constructor for objects of class Productos
     */
    public Producto(){
        nombreProducto="";
        nroLote=0;
        paisOrigen="";
        fechaEnvasado=Calendar.getInstance();
        fechaCaducidad=Calendar.getInstance();
    }
    public Producto(String nombreProducto, int nroLote, String paisOrigen, Calendar fechaEnvasado, Calendar fechaCaducidad){
        this.nombreProducto=nombreProducto;
        this.nroLote=nroLote;
        this.paisOrigen=paisOrigen;
        this.fechaEnvasado=fechaEnvasado;
        this.fechaCaducidad=fechaCaducidad;
    }
    // metodos setters
     /**
     * @param nombreProducto Descripcion del producto
     */
    public void setNombreProducto(String nombreProducto){
       this.nombreProducto=nombreProducto;
    }
     /**
     * @param nroLote Numero de lote del producto
     */
    public void setNroLote(int nroLote){
        this.nroLote=nroLote;
    }
     /**
     * @param paisOrigen Nombre del pais de origen del producto
     */
    public void setPaisOrigen(String paisOrigen){
        this.paisOrigen = paisOrigen;
    }
    // metodos getters
    /**
    * @return Nombre del producto (String)
    */
    public String getNombreProducto(){
        return nombreProducto;
    }
    /**
    * @return Número de lote (int)
    */
    public int getNroLote(){
        return nroLote;
    }
    /**
    * @return Nombre del producto (String)
    */
    public String getPaisOrigen(){
        return paisOrigen;
    }
    public void listaProducto(){
            FechasProducto fecha = new FechasProducto(fechaEnvasado, fechaCaducidad);
            System.out.println("Nombre: "+nombreProducto+" Nro de Lote:"+nroLote+ " Pais de origen:"+paisOrigen+" Fecha de envasado:"+fecha.getStrFechaEnvasado()+ " Fecha de caducidad:"+fecha.getStrFechaCaducidad());
    }
}
Clase ProductoFresco
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoFresco here.
 *
 * @author Luis
 * @version CU00686B
 */
public class ProductoFresco extends Producto {
    public ProductoFresco(){
    }
    public ProductoFresco(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad) {
        super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad);
    }
    public void listaProductoFresco(){
        super.listaProducto();
    }
}
Clase ProductoConservadoEnFrio
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoConservadoEnFrio here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class ProductoConservadoEnFrio extends Producto
{
    private double temperaturaMantenimiento;
    public ProductoConservadoEnFrio(){
        temperaturaMantenimiento=0;
    }
    public ProductoConservadoEnFrio(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento) {
        // initialise instance variables
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad);
       this.temperaturaMantenimiento=temperaturaMantenimiento;
    }
    /**
     * @param codigoOrganismoSupervision El Organismo que controla el producto
     */
    /**
     * @param temperaturaMantenimiento La temperatura para mantener el producto refrigerado
     */
    public void setTemperaturaMantenimiento(double temperaturaMantenimiento){
    this.temperaturaMantenimiento = temperaturaMantenimiento;
    }
     /**
     * @return La temperatura para mantener el producto refrigerado (double)
     */
    public double getTemperaturaMantenimiento() {
        return temperaturaMantenimiento;
    }
    public void listaProductoConservadoEnFrio(){
        super.listaProducto();
        System.out.println("Temperatura de mantenimiento: "+temperaturaMantenimiento);}
}
Clase ProductoRefrigerado
Código: [Seleccionar]
import java.util.*;
/**
 * Write a description of class ProductoRefrigerado here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoRefrigerado extends ProductoConservadoEnFrio
{
    public String organismoSupervision;
    public ProductoRefrigerado() {
        organismoSupervision="";
    }
    public ProductoRefrigerado(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, String organismoSupervision) {
        // initialise instance variables
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
       this.organismoSupervision=organismoSupervision;
    }
    /**
     * @param codigoOrganismoSupervision El Organismo que controla el producto
     */
     public void listaProductoRefrigerado(){
        super.listaProductoConservadoEnFrio();
        System.out.println("Organismo de Supervisión: "+organismoSupervision);
    }

}
Clase ProductoCongelado
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoCongelado here.
 *
 * @author Luis
 * @version CU00686B
 */
public class ProductoCongelado extends ProductoConservadoEnFrio {
    TipoDeCongelado tipoCongelado;
    public ProductoCongelado() {
    }
    public ProductoCongelado(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento) {
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
    }
    public void listaProductoCongelado(){
        super.listaProductoConservadoEnFrio();
    }
}
Clase ProductoCongeladoPorAire
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoCongeladoPorAire here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoCongeladoPorAire extends ProductoCongelado {
    float valorN;
    float valorO;
    float valorCO2;
    float valorH2O;
    public ProductoCongeladoPorAire() {
    valorN=0;
    valorO=0;
    valorCO2=0;
    valorH2O=0;
    }
    public ProductoCongeladoPorAire(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, float valorN, float valorO, float valorCO2, float valorH2O) {
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
       this.valorN=valorN;
       this.valorO=valorO;
       this.valorCO2=valorCO2;
       this.valorH2O=valorH2O;
    };
    public void listaProductoCongeladoPorAire(){
        super.listaProductoCongelado();
        System.out.println("Composicion del aire: % Nitrogeno "+valorN+", % Oxigeno "+valorO+", % dióxido de carbono "+valorCO2+", % vapor de agua "+valorH2O);
    }
}

Continúa el resto del ejercicio como respuesta a éste mensaje

LuisM

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 131
    • Ver Perfil
Clase ProductoCongeladoPorAgua
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoCongeladoPorAgua here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoCongeladoPorAgua extends ProductoCongelado {
    int salinidadAgua;
    public ProductoCongeladoPorAgua() {
        salinidadAgua=0;
    }
    public ProductoCongeladoPorAgua(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, int salinidadAgua ) {
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
        this.salinidadAgua=salinidadAgua;
    }
    /**
    * @param salinidadAgua Salinidad del agua 
    */
    public void setSalinidadAgua(int salinidadAgua){
       this.salinidadAgua=salinidadAgua;
    }
    /**
    * @return la salinidad del agua (int)
    */
    public int getSalinidadAgua(){
       return salinidadAgua;
    }
    public void listaProductoCongeladoPorAgua(){
        super.listaProductoCongelado();
        System.out.println("Salinidad del agua: "+salinidadAgua);
    }

}
Clase ProductoCongeladoPorNitrogeno
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoCongeladoPorNitrogeno here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoCongeladoPorNitrogeno extends ProductoCongelado {
    int tiempoExposicion;
    String metodoEmpleado;
    public ProductoCongeladoPorNitrogeno() {
    tiempoExposicion=0;
    metodoEmpleado="";
    }
    public ProductoCongeladoPorNitrogeno(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, int tiempoExposicion, String metodoEmpleado) {
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
       this.tiempoExposicion=tiempoExposicion;
       this.metodoEmpleado=metodoEmpleado;               
    }
    /**
    * @param tiempoExposicion El tiempo de exposicion
    */
    public void setTiempoExposicion(int tiempoExposicion){
       this.tiempoExposicion=tiempoExposicion;
    }
    /**
    * @param metodoEmpleado El método usado para congelar por Nitrogeno
    */
    public void setMetodoEmpleado(String metodoEmpleado){
       this.metodoEmpleado=metodoEmpleado;
    }
   /**
    * @return El tiempo de exposición  (int)
    */
    public int getTiempoExposicion(){
       return tiempoExposicion;
    }
       /**
    * @return El metodo empleado  (String)
    */
    public String getMetodoEmpleado(){
       return metodoEmpleado;
    }
    public void listaProductoCongeladoPorNitrogeno(){
        super.listaProductoCongelado();
        System.out.println("Tiempo de exposición: "+tiempoExposicion);
        System.out.println("Método empleado: "+metodoEmpleado);
    }
}
Clases enum
Código: [Seleccionar]
/**
 * Enumeration class TipoDeProducto - write a description of the enum class here
 *
 * @author (your name here)
 * @version (version number or date here)
 */
public enum TipoDeProducto
{
    FRESCO(7),REFRIGERADO(15),CONGELADO(90);
    private final int plazoDuracion;
    TipoDeProducto(int plazoDuracion){
        this.plazoDuracion=plazoDuracion;
    }
    public int getPlazoDuracion(){
        return plazoDuracion;
    }
}
Código: [Seleccionar]
/**
 * Enumeration class TipoDeCongelado - write a description of the enum class here
 *
 * @author (your name here)
 * @version (version number or date here)
 */
public enum TipoDeCongelado
{
    AGUA(-3.5), AIRE(-7.1), NITROGENO(-12.8);
    private final double temperaturaCongelado;
    TipoDeCongelado(double temperaturaCongelado){
        this.temperaturaCongelado=temperaturaCongelado;
    }
    public double getTemperaturaCongelado(){
    return temperaturaCongelado;
    }
}
Clase FechasProducto
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class Fecha here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class FechasProducto
{
    // instance variables - replace the example below with your own
    Calendar fechaEnvasado;
    Calendar fechaCaducidad;
    int dia;
    int mes;
    int anio;
    /**
     * Constructor for objects of class Fecha
     */
    public FechasProducto(){
    }
    public FechasProducto(Calendar fechaEnvasado, Calendar fechaCaducidad){
        this.fechaEnvasado=fechaEnvasado;
        this.fechaCaducidad=fechaCaducidad;
    }
    public void setFechaEnvasado(int dia, int mes, int anio){
        fechaEnvasado=Calendar.getInstance();
        fechaEnvasado.set(Calendar.DAY_OF_MONTH, dia);
        fechaEnvasado.set(Calendar.MONTH, mes-1);
        fechaEnvasado.set(Calendar.YEAR, anio);

        fechaCaducidad=Calendar.getInstance();
        fechaCaducidad.set(Calendar.DAY_OF_MONTH, dia);
        fechaCaducidad.set(Calendar.MONTH, mes-1);
        fechaCaducidad.set(Calendar.YEAR, anio); }
    public String getStrFechaEnvasado(){   
        dia=fechaEnvasado.get(Calendar.DAY_OF_MONTH);
        mes=fechaEnvasado.get(Calendar.MONTH)+1;
        anio=fechaEnvasado.get(Calendar.YEAR);
        String strFechaEnvasado=dia+"/"+mes+"/"+anio;
        return strFechaEnvasado;
    }
    public Calendar getFechaEnvasado(){
        return fechaEnvasado;}
    public Calendar getFechaCaducidad(){
        return fechaCaducidad;}
    public String getStrFechaCaducidad(){   
        dia=fechaCaducidad.get(Calendar.DAY_OF_MONTH);
        mes=fechaCaducidad.get(Calendar.MONTH)+1;
        anio=fechaCaducidad.get(Calendar.YEAR);
        String strFechaCaducidad=dia+"/"+mes+"/"+anio;
        return strFechaCaducidad;
    }
}

 

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