Hola,
Aquí dejo mi ejercicio del temas "CU00686B tutorial ejemplo herencia java extends super constructores poo" para su corrección:
Superclase Producto:
// EJERCICIO DEL USO DE HERECIAS
// ----> CU00686B tutorial ejemplo herencia java extends super constructores poo.pdf
//Clase 1. Código de la Superclase Producto_CU00686B
/**
* Esta Clase define una Superclase de la que "beberan" otras clases.<br>
* Clase 1 del Ejercicio del Tema "CU00686B tutorial ejemplo herencia java extends super constructores poo".
* @author Lorenzo Fernández Asensio
* @version 20151120.01
*/
public class Producto_CU00686B {
// Inicialización de Atributos
private String fechaCaducidad;
private int numLote;
/**
* Constructor 1 del Producto. Atribututos sin asignación de Valores
* @param fechaCaducidad El parámetro fechaCaducidad define la Fecha de Caducidad del Producto
* @param numLote El parámetro numLote define el número del lote al que pertenece el Producto
*/
public Producto_CU00686B() {
fechaCaducidad = "";
numLote = 0;
} // Cierre del Constructor 1
/**
* Constructor 2 del Producto. Atribututos con asignación de Valores
* @param fechaCaducidad El parámetro fechaCaducidad define la Fecha de Caducidad del Producto
* @param numLote El parámetro numLote define el número del lote al que pertenece el Producto
*/
public Producto_CU00686B(String fechaCaducidad, int numLote) {
this.fechaCaducidad = fechaCaducidad;
this.numLote = numLote;
} // Cierre del Constructor 2
/**
* Método para establecer la Fecha de Caducidad del Producto
* @param valorFechaCaducidad El parámetro valorFechaCaducidad define el valor que contendrá la Fecha de Caducidad
*/
public void setFechaCaducidad(String valorFechaCaducidad) {
fechaCaducidad = valorFechaCaducidad;
} // Cierre del método para establecer la Fecha de Caducidad
/**
* Método para establecer el Número de Lote
* @param valorNumLote El parámetro valorNumLote define el valor que contendrá el Número de Lote
*/
public void setNumLote(int valorNumLote) {
numLote = valorNumLote;
} // Cierre del método para establecer la Fecha de Caducidad
/**
* Método para para obtener la Fecha de Caducidad del Producto
* @return La Fecha de Caducidad del Producto
*/
public String getFechaCaducidad(){ return fechaCaducidad; }
/**
* Método para para obtener el Número de Lote
* @return El Número de Lote
*/
public int getNumLote(){ return numLote; }
/**
* Método para mostrar por pantalla la Información
*/
public void mostrarInformacion() {
System.out.println ("PRODUCTO");
System.out.println ("--------");
System.out.println ("Fecha de Caducidad: " + getFechaCaducidad());
System.out.println ("Nº de Lote: " + getNumLote());
} // Cierre de la clase
} // Cierre de la Clase
Subclase Producto Fresco:
// EJERCICIO DEL USO DE HERECIAS
// ----> CU00686B tutorial ejemplo herencia java extends super constructores poo.pdf
// Clase 2. Código de la clase ProductoFresco, subclase de la clase Producto_CU00686B
/**
* Esta Clase define una Subclase que "bebe" de la Superclase Producto_CU00686B.<br>
* Clase 2 del Ejercicio del Tema "CU00686B tutorial ejemplo herencia java extends super constructores poo".
* @author Lorenzo Fernández Asensio
* @version 20151120.01
*/
public class ProductoFresco_CU00686B extends Producto_CU00686B {
//Campos específicos de la subclase.
private String fechaEnvasado;
private String paisOrigen;
/**
* Constructor 1 del Producto. Atribututos sin asignación de Valores
* @param fechaEnvasado El parámetro fechaEnvasadoad define la Fecha de Envasado del Producto
* @param paisOrigen El parámetro paisOrigen define el País de Orignen del Producto
*/
public ProductoFresco_CU00686B () {
super(); // Parametros del constructor de la Superclase. Siempre se incluyen
// Parametros especificos de la Subclase
fechaEnvasado = "";
paisOrigen = "";
} // Cierre del constructor 1
/**
* Constructor 2 del Producto. Atribututos con asignación de Valores
* @param fechaEnvasado El parámetro fechaEnvasadoad define la Fecha de Envasado del Producto
* @param paisOrigen El parámetro paisOrigen define el País de Orignen del Producto
*/
public ProductoFresco_CU00686B (String fechaCaducidad, int numLote, String fechaEnvasado, String paisOrigen) {
super(fechaCaducidad, numLote);// Parametros del constructor de la Superclase. Siempre se incluyen
// Parametros especificos de la Subclase
this.fechaEnvasado = fechaEnvasado;
this.paisOrigen = paisOrigen;
} // Cierre del constructor 2
// METODOS ESPECIFICOS DE LA SUBLASE
/**
* Método para establecer la Fecha de Envasado
* @param fechaEnvasado El parámetro fechaEnvasado define el valor que contendrá la Fecha de Envasado
*/
public void setFechaEnvasado (String fechaEnvasado) {
this.fechaEnvasado = fechaEnvasado;
} // Cierre del método para establecer la Fecha de Envasado
/**
* Método para establecer el País de Origen
* @param paisOrigen El parámetro paisOrigen define el valor que contendrá el País de Origen
*/
public void setPaisOrigen (String paisOrigen) {
this.paisOrigen = paisOrigen;
} // Cierre del método para establecer el Pais de Origen
/**
* Método para para obtener la Fecha de Envasado
* @return La Fecha de Fecha de Envasado del Producto
*/
public String getFechaEnvasado() { return fechaEnvasado; }
/**
* Método para para obtener el País de Origen
* @return El País de Origen del Producto
*/
public String getPaisOrigen() { return paisOrigen; }
/**
* Método para mostrar por pantalla la Información
*/
public void mostrarInformacion() {
// Se muestran un Título
System.out.println ("PRODUCTO FRESCO");
System.out.println ("---------------");
// Se muestran los datos de los métodos de la Superclase
System.out.println ("Fecha de Caducidad: " + getFechaCaducidad());
System.out.println ("Nº de Lote: " + getNumLote());
// Se muestran los datos de los atributos de la Subclase
System.out.println ("Fecha de Envasado: " + getFechaEnvasado());
System.out.println ("Pais de Origen: " + getPaisOrigen());
} // Cierre de la clase
} // Cierre de la clase
Subclase Producto Refrigerado
// EJERCICIO DEL USO DE HERECIAS
// ----> CU00686B tutorial ejemplo herencia java extends super constructores poo.pdf
// Clase 3. Código de la clase ProductoRefrigerado, subclase de la clase Producto_CU00686B
/**
* Esta Clase define una Subclase que "bebe" de la Superclase Producto_CU00686B.<br>
* Clase 3 del Ejercicio del Tema "CU00686B tutorial ejemplo herencia java extends super constructores poo".
* @author Lorenzo Fernández Asensio
* @version 20151120.01
*/
public class ProductoRefrigerado_CU00686B extends Producto_CU00686B {
//Campos específicos de la subclase.
private String codSupervAlimentaria;
/**
* Constructor 1 del Producto. Atribututos sin asignación de Valores
* @param codSupervAlimentaria El parámetro codSupervAlimentaria define el Código del Organismo de Supervisión Alimentaria
*/
public ProductoRefrigerado_CU00686B () {
super(); // Parametros del constructor de la Superclase. Siempre se incluyen
codSupervAlimentaria = ""; // Parametro especifico de la Subclase
} // Cierre del constructor 1
/**
* Constructor 2 del Producto. Atribututos con asignación de Valores
* @param codSupervAlimentaria El parámetro codSupervAlimentaria define el Código del Organismo de Supervisión Alimentaria
*/
public ProductoRefrigerado_CU00686B (String fechaCaducidad, int numLote, String codSupervAlimentaria) {
super(fechaCaducidad, numLote); // Parametros del constructor de la Superclase. Siempre se incluyen
this.codSupervAlimentaria = codSupervAlimentaria; // Parametro especifico de la Subclase
} // Cierre del constructor 2
// METODOS ESPECIFICOS DE LA SUBLASE
/**
* Método para establecer el Código del Organismo de Supervisión Alimentaria
* @param codSupervAlimentaria El parámetro codSupervAlimentaria define el valor del Organismo de Supervisión Alimentaria
*/
public void setCodSupervAlimentaria (String codSupervAlimentaria) {
this.codSupervAlimentaria = codSupervAlimentaria;
} // Cierre del método para establecer la Fecha de Envasado
/**
* Método para para obtener el Código del Organismo de Supervisión Alimentaria
* @return El Código del Organismo de Supervisión Alimentaria
*/
public String getCodSupervAlimentaria() { return codSupervAlimentaria; }
/**
* Método para mostrar por pantalla la Información
*/
public void mostrarInformacion() {
// Se muestran un Título
System.out.println ("PRODUCTO REFRIGERADO");
System.out.println ("--------------------");
// Se muestran los datos de los métodos de la Superclase
System.out.println ("Fecha de Caducidad: " + getFechaCaducidad());
System.out.println ("Nº de Lote: " + getNumLote());
// Se muestran los datos del atributo de la Subclase
System.out.println ("Fecha de Envasado: " + getCodSupervAlimentaria());
} // Cierre de la clase
} // Cierre de la clase
Subclase Producto Congelado
// EJERCICIO DEL USO DE HERECIAS
// ----> CU00686B tutorial ejemplo herencia java extends super constructores poo.pdf
// Clase 4. Código de la clase ProductoCongelado, subclase de la clase Producto_CU00686B
/**
* Esta Clase define una Subclase que "bebe" de la Superclase Producto_CU00686B.<br>
* Clase 4 del Ejercicio del Tema "CU00686B tutorial ejemplo herencia java extends super constructores poo".
* @author Lorenzo Fernández Asensio
* @version 20151120.01
*/
public class ProductoCongelado_CU00686B extends Producto_CU00686B {
//Campos específicos de la subclase.
private int tempCongelRecom;
/**
* Constructor 1 del Producto. Atribututos sin asignación de Valores
* @param tempCongelRecom El parámetro tempCongelRecom define la temperatura de congelación recomendada
*/
public ProductoCongelado_CU00686B () {
super(); // Parametros del constructor de la Superclase. Siempre se incluyen
tempCongelRecom = 0; // Parametro especifico de la Subclase
} // Cierre del constructor 1
/**
* Constructor 2 del Producto. Atribututos con asignación de Valores
* @param codSupervAlimentaria El parámetro tempCongelRecom define la temperatura de congelación recomendada
*/
public ProductoCongelado_CU00686B (String fechaCaducidad, int numLote, int tempCongelRecom) {
super(fechaCaducidad, numLote); // Parametros del constructor de la Superclase. Siempre se incluyen
this.tempCongelRecom = tempCongelRecom; // Parametro especifico de la Subclase
} // Cierre del constructor 2
// METODOS ESPECIFICOS DE LA SUBLASE
/**
* Método para establecer la temperatura de congelación recomendada
* @param tempCongelRecom El parámetro tempCongelRecom define valor de la temperatura de congelación recomendada
*/
public void setTempCongelRecom (int tempCongelRecom) {
this.tempCongelRecom = tempCongelRecom;
} // Cierre del método para establecer la Fecha de Envasado
/**
* Método para para obtener la temperatura de congelación recomendada
* @return La temperatura de congelación recomendada
*/
public int getTempCongelRecom() { return tempCongelRecom; }
/**
* Método para mostrar por pantalla la Información
*/
public void mostrarInformacion() {
// Se muestran un Título
System.out.println ("PRODUCTO CONGELADO");
System.out.println ("------------------");
// Se muestran los datos de los métodos de la Superclase
System.out.println ("Fecha de Caducidad: " + getFechaCaducidad());
System.out.println ("Nº de Lote: " + getNumLote());
// Se muestran los datos del atributo de la Subclase
System.out.println ("Temperatura de Congelación Recomendada: " + getTempCongelRecom());
} // Cierre de la clase
} // Cierre de la clase
Clase Test
// EJERCICIO DEL USO DE HERECIAS
// ----> CU00686B tutorial ejemplo herencia java extends super constructores poo.pdf
// Clase 5. Código de la clase test
/**
* Esta Clase define una clase test para probar Herencias.<br>
* Clase 5 del Ejercicio del Tema "CU00686B tutorial ejemplo herencia java extends super constructores poo".
* @author Lorenzo Fernández Asensio
* @version 20151121.01
*/
public class TestHerencia2_CU00686B {
public static void main (String [ ] Args) {
// CREACIÓN DE LOS OBJETOS ASIGNADO LOS ATRIBUTOS DE LA SUPERCLASE Producto_CU00686B + LOS SUYOS PROPIOS
// Creación del objeto de producto Fresco
ProductoFresco_CU00686B productoFresco = new ProductoFresco_CU00686B ("21-5-2020", 55, "22-5-2015", "España");
// Creación del objeto de producto Refrigerado
ProductoRefrigerado_CU00686B productoRefrig = new ProductoRefrigerado_CU00686B ("19-10-2025", 347, "ES-358/91");
// Creación del objeto de producto Congelado
ProductoCongelado_CU00686B productoCongel = new ProductoCongelado_CU00686B ("3-6-2017", 38, -15);
// Se limpia la pantalla de la Consola
System.out.println("\f");
// SE REALIZAN LLAMADAS A LOS MÉTODOS DE LAS SUBCLASES PARA MOSTRAR LOS DATOS EN PANTALLA
productoFresco.mostrarInformacion();
System.out.println(""); // Se imprime línea en blanco de separación entre productos
productoRefrig.mostrarInformacion();
System.out.println(""); // Se imprime línea en blanco de separación entre productos
productoCongel.mostrarInformacion();
} // Cierre del Main
} //Cierre de la clase
Espero vuestros comentarios,
Muchas Gracias,
Un Saludo,