Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: camoay en 28 de Noviembre 2016, 21:44

Título: Aprender Java desde Cero, Ejemplo de LocalDate y herencia ejercicio CU00686B
Publicado por: camoay en 28 de Noviembre 2016, 21:44
Hola , aquí les dejo el código de las clases correspondientes a la entrega  CU00686B del curso de fundamentos de programación orientada a objetos con Java:


Clase Producto

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase86;

import java.time.LocalDate;

public class Producto {
String lote;
LocalDate caducidad;

// Constructores
Producto(){
lote = "";
caducidad = null;
}
Producto(String lote, LocalDate caducidad){
this.lote = lote;
this.caducidad = caducidad;
}

// Métodos
public String getLote() {
return lote;
}
public void setLote(String lote) {
this.lote = lote;
}
public LocalDate getCaducidad() {
return caducidad;
}
public void setCaducidad(LocalDate caducidad) {
this.caducidad = caducidad;
}
public String toString(){
String string ="Este es un objeto Producto, su Lote es '"+getLote()+"' y su Fecha de caducidad es "+getCaducidad();
return string;
}
}


Clase ProductoFresco

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase86;

import java.time.LocalDate;

public class ProductoFresco extends Producto{

LocalDate fechaEnvasado;
String paisDeOrigen;

//Constructores
public ProductoFresco() {
super();
fechaEnvasado = null;
paisDeOrigen = "";
}
public ProductoFresco(LocalDate fechaEnvasado, String paisDeOrigen) {
super();
this.fechaEnvasado = fechaEnvasado;
this.paisDeOrigen = paisDeOrigen;
}
public ProductoFresco(String lote, LocalDate caducidad,LocalDate fechaEnvasado,String paisDeorigen ) {
super(lote, caducidad);
this.fechaEnvasado = fechaEnvasado;
this.paisDeOrigen = paisDeOrigen;
}

//Métodos
public LocalDate getFechaEnvasado() {
return fechaEnvasado;
}
public void setFechaEnvasado(LocalDate fechaEnvasado) {
this.fechaEnvasado = fechaEnvasado;
}
public String getPaisDeOrigen() {
return paisDeOrigen;
}
public void setPaisDeOrigen(String paisDeOrigen) {
this.paisDeOrigen = paisDeOrigen;
}
public String  toString(){
String string ="Este es un objeto ProductoFresco, hereda de Producto; su fecha de envasado es "+getFechaEnvasado()+" y su Pais de origen es "+getPaisDeOrigen();
return string;
}
}


Clase ProductoRefrigerado

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase86;

import java.time.LocalDate;

public class ProductoRefrigerado extends Producto{
String codigoSA;

//Constructores
public ProductoRefrigerado() {
super();
codigoSA = "";
}
public ProductoRefrigerado(String codigoSA) {
super();
this.codigoSA = codigoSA;
}
public ProductoRefrigerado(String lote, LocalDate caducidad,String codigoSA) {
super(lote, caducidad);
this.codigoSA = codigoSA;
}

//Métodos
public String getCodigoSA() {
return codigoSA;
}
public void setCodigoSA(String codigoSA) {
this.codigoSA = codigoSA;
}
public String  toString(){
String string ="Este es un objeto ProductoRefrigerado, hereda de Producto; su Código del Organismo de Supervisión Alimentaria es "+getCodigoSA();
return string;
}
}


Clase ProductoCongelado

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase86;

import java.time.LocalDate;

public class ProductoCongelado extends Producto {
String tempRecCong;

//Constructores
ProductoCongelado() {
super();
tempRecCong = "";
}
ProductoCongelado(String tempRecCong){
super();
this.tempRecCong = tempRecCong;
}
ProductoCongelado(String lote, LocalDate caducidad,String tempRecCong){
super(lote, caducidad);
this.tempRecCong = tempRecCong;
}

// Métodos
public String getTempRecCong() {
return tempRecCong;
}
public void setTempRecCong(String tempRecCong) {
this.tempRecCong = tempRecCong;
}
public String  toString(){
String string ="Este es un objeto ProductoCongelado, hereda de Producto; su Temperatura Recomendada de Congelación es "+getTempRecCong();
return string;
}
}


Clase TestHerencia2

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase86;

import java.time.LocalDate;

public class TestHerencia2 {

public static void main(String[] args) {
Producto miProducto = new Producto();
System.out.println(miProducto);// opcion1
System.out.println(miProducto.toString());// opcion2
Producto miProducto1 = new Producto("fjsdfoaj", LocalDate.of(2018, 9 , 6));
System.out.println(miProducto1);// opcion1
System.out.println(miProducto1.toString());// opcion2
Producto miProducto2 = new ProductoFresco(LocalDate.of(2019, 8 , 10),"España");
System.out.println(miProducto2);// opcion1
System.out.println(miProducto2.toString());// opcion2
Producto miProducto3 = new ProductoRefrigerado("gksdfpgpsd");
System.out.println(miProducto3);// opcion1
System.out.println(miProducto3.toString());// opcion2
Producto miProducto4 = new ProductoCongelado("-10\u00b0C");
System.out.println(miProducto4);// opcion1
System.out.println(miProducto4.toString());// opcion2
}
}

Les agradeceré cualquier comentario
Título: Re:Aprender Java desde Cero, Ejemplo de Herencia, ejercicio CU00686B
Publicado por: Alex Rodríguez en 03 de Diciembre 2016, 20:32
Hola camoay en general veo bien el código pero has usado el método toString (que todavía en esta entrega no se ha explicado en el curso). También has utilizado java.time.LocalDate que no se explica en el curso, por eso no puede tomarse como un ejercicio de referencia.

Si quieres un ejercicio de referencia puedes tomar este: https://www.aprenderaprogramar.com/foros/index.php?topic=2306.0

Saludos
Título: Re:Aprender Java desde Cero, Ejemplo de Herencia, ejercicio CU00686B
Publicado por: camoay en 05 de Diciembre 2016, 11:46
Gracias Alex por tus comentarios, sé que tienes razón en lo que dices. La verdad es que desde que, trasteando con la API de java averigué que toString() se usaba especificamente para lo que uds. pedían varios ejercicios atrás, no pude resirtirme a empezar a usarlo ya. Y algo similar me pasó con la java.time.LocalDate válido a partir de java 8 y que me instalé recientemente.