Autor Tema: Java. Ejemplo herencia, extends y super distintas formas de resolver CU00686B  (Leído 2169 veces)

maxplanck

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Hola de nuevo compañeros.

Ha sido un periodo largo sin aparecer por aquí (bajo mi punto de vista, a lo mejor a otros os parece que ha sido poco  ;D ;D).  No me planteo ni por asomo abandonar este curso de Java (lo siento) y como muestra mi código para las clases de este ejercicio CU00686B que esperan vuestras sugerencias y comentarios, siempre os estaré agradecido por vuetra ayuda.

Clase Producto:

Código: [Seleccionar]
public class Producto {
    private String fechaCaducidad;
    private int numLote;
   
    public Producto () {
        fechaCaducidad = "";
        numLote = 0;
    }
     public void setFechaCaducidad (String fechaCaducidad){
         this.fechaCaducidad = fechaCaducidad;
        }
        public void setNumLote (int num) {
            numLote = num;
        }
        public String getFechaCaducidad (){
            return fechaCaducidad;
        }
        public int getNumLote () {
            return numLote;
        }
        public void datosProducto (String nombreProducto) {
            System.out.println ("El producto " + nombreProducto +" tiene como fecha de caducidad: " + fechaCaducidad);
            System.out.println ("El producto " + nombreProducto +" tiene como número de lote: " + numLote);
        }
    }

Y ahora la clase ProductoFresco:

Código: [Seleccionar]
public class ProductoFresco extends Producto {
    private String fechaEnvasado;
    private String paisOrigen;
   
    public ProductoFresco () {
        super();
        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 getPaisOrogen () {return paisOrigen;}
   
    public void datosFresco (String nombreProducto) {
        System.out.println ("El producto " + nombreProducto +" tiene como fecha de envasado: " + fechaEnvasado);
        System.out.println ("El producto " + nombreProducto +" tiene como país de origen " + paisOrigen);
    }
   
}

Clase ProductoRefrigerado:

Código: [Seleccionar]
public class ProductoRefrigerado extends Producto {   
    private String codigoOSA;
   
    public ProductoRefrigerado () {
        super();
        codigoOSA = null;
    }
       
    public void setCodigoOSA (String codigoOSA) {
        this.codigoOSA = codigoOSA;
    }
   
    public String getCodigoOSA () {return codigoOSA;}
   
    public void datosRefrigerado (String nombreProducto) {
        System.out.println ("El producto " + nombreProducto +" tiene como codigo O.S.A.: " + codigoOSA);
    }
   
}

Clase ProductoCongelado:

Código: [Seleccionar]
public class ProductoCongelado extends Producto {   
    private float temRecomendada;
   
    public ProductoCongelado () {
        super();
        temRecomendada= 0;
    }
       
    public void setTemRecomendada (float temRecomendada) {
        this.temRecomendada = temRecomendada;
    }
   
    public float getTemRecomendada () {return temRecomendada;}
    public void datosCongelado (String nombreProducto){
        System.out.println ("El producto " + nombreProducto +" tiene como teperatura de congelación recomendada: " + temRecomendada);
    }
   
}

Y por último la clase TestHerencia2:

Código: [Seleccionar]
public class testHerencia2 {
    public static void main (String [] Args) {
       
        ProductoFresco cosa1 = new ProductoFresco ();
        ProductoRefrigerado cosa2 = new ProductoRefrigerado ();
        ProductoCongelado cosa3 = new ProductoCongelado ();
       
        cosa1.setFechaCaducidad("1-1-2018");
        cosa2.setFechaCaducidad("2-2-2018");
        cosa3.setFechaCaducidad("3-3-2018");
       
        cosa1.setNumLote(0001);
        cosa2.setNumLote(0002);
        cosa3.setNumLote(0003);
       
        cosa1.setFechaEnvasado ("1-1-2017");
        cosa1.setPaisOrigen("Chiquitistán");
       
        cosa2.setCodigoOSA("co002");
       
        cosa3.setTemRecomendada(-20.5f);
       
        cosa1.datosProducto("cosa1");
        cosa1.datosFresco("cosa1");
        cosa2.datosProducto("cosa2");
        cosa2.datosRefrigerado("cosa2");
        cosa3.datosProducto("cosa3");
        cosa3.datosCongelado("cosa3");
    }
}

Hasta pronto.
« Última modificación: 14 de Mayo 2017, 19:29 por Alex Rodríguez »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Código JAVA del ejerccicio CU00686B
« Respuesta #1 en: 06 de Marzo 2017, 23:11 »
Hola maxplanck.

Tu ejercicio esta correcto.

Te dejo un enlace con otra solución en la que cuando se muestra todos los datos del producto, haciendo referencia a un sólo método y no llamando a dos métodos como lo resolviste tú.

https://www.aprenderaprogramar.com/foros/index.php?topic=4184.msg17504#msg17504

Saludos. ;D

maxplanck

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Re:Java. Ejemplo herencia, extends y super. CU00686B
« Respuesta #2 en: 09 de Marzo 2017, 21:03 »
Mil gracias pedro,,... como siempre. Liado con el  ejercicio siguiente se me habia pasado éste.. me habría venido bien echarle un ojo antes y me habría ahorrado  algún dolor de cabeza... nunca es tarde.  Saludos y hasta la próxima  ;).

 

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