Tengo una duda. No entiendo los métodos setters en la Clases Producto, ProductosFrescos,etc. ¿Si ya inicializamos las variables con el Constructor, para qué necesitamos esos métodos? Supongo que tendré muchos fallos. Agradecería las correcciones. Gracias. Adjunto el código:
package paqueteherencia;
public class Producto {
String fechaCaducidad, nombre;
String nLote;
public Producto(String fechaCaducidad, String nombre,String nLote){
this.fechaCaducidad=fechaCaducidad;
this.nombre=nombre;
this.nLote=nLote;
}
public String getfechaCaduciad(){
return fechaCaducidad;
}
public String getnLote(){
return nLote;
}
public String getnombre(){
return nombre;
}
public void setfechaCaducidad(String fechaCaducidad){
this.fechaCaducidad=fechaCaducidad;
}
public void setnLote(String nLote){
this.nLote=nLote;
}
public void setnombre(String nombre){
this.nombre=nombre;
}
}
package paqueteherencia;
public class ProductosFrescos extends Producto {
private String FechaEnvasado;
private String PaisOrigen;
public ProductosFrescos( String fechaCaducidad, String nombre, String nLote, String FechaEnvasado, String PaisOrigen){
super(fechaCaducidad, nombre, nLote);
this.FechaEnvasado=FechaEnvasado;
this.PaisOrigen=PaisOrigen;
}
public String getFechaEnvasado(){
return FechaEnvasado;
}
public String getPaisOrigen(){
return PaisOrigen;
}
public void setFechaEnvasado(String FechaEnvasado){
this.FechaEnvasado=FechaEnvasado;
}
public void setPaisOrigen(String PaisOrigen){
this.PaisOrigen=PaisOrigen;
}
public String getDatosProductosFrescos(){
return "Fecha de envasado: "+ FechaEnvasado +" Fecha caducidad: "+ fechaCaducidad + ". País de orígen: " + PaisOrigen
+ " Nombre: " + nombre + " Número de lote: " + nLote;
}
}
package paqueteherencia;
public class ProductosRefrigerados extends Producto {
private String CodigoSupervision;
public ProductosRefrigerados(String fechaCaducidad, String nombre,String nLote, String CodigoSupervision){
super(fechaCaducidad, nombre,nLote);
this.CodigoSupervision=CodigoSupervision;
}
public String getCodigoSupervision(){
return CodigoSupervision;
}
public void setCodigoSupervision(String CodigoSupervision){
this.CodigoSupervision=CodigoSupervision;
}
public String getDatosProductosRefrigerados(){
return "Fecha caducidad: "+ fechaCaducidad + " Nombre: " + nombre + " Número de lote: " + nLote + " Código: " + CodigoSupervision;
}
}
package paqueteherencia;
public class ProductosCongelados extends Producto {
private String TemperaturaRecomendada;
public ProductosCongelados(String fechaCaducidad, String nombre, String nLote, String TemperaturaRecomendada ){
super (fechaCaducidad,nombre,nLote);
this.TemperaturaRecomendada = TemperaturaRecomendada;
}
public String getTemperaturaRecomendada(){
return TemperaturaRecomendada;
}
public void setTemperaturaRecomendada(String TemperaturaRecomendada){
this.TemperaturaRecomendada=TemperaturaRecomendada;
}
public String getDatosProductosCongelados(){
return "Fecha caducidad: "+ fechaCaducidad + " Nombre: " + nombre + " Número de lote: " + nLote + " Temperatura: " + TemperaturaRecomendada;
}
}
package paqueteherencia;
public class Uso_Herencia {
public static void main(String[] args) {
// TODO Auto-generated method stub
ProductosFrescos LechugaProductoFresco = new ProductosFrescos("25-10-2017", "Lechuga", "03590","2-12-2012", "Uruguay" );
ProductosRefrigerados YogurProductoRefrigerado=new ProductosRefrigerados ("18-12-2020", "Yogur", "251183", "COD213456T");
ProductosCongelados PizzaProductoCongelado =new ProductosCongelados("24-1-2019", "Pizza", "434546-T", "-3º");
System.out.println("Atributos Productos Frescos: " + LechugaProductoFresco.getDatosProductosFrescos());
System.out.println("Atributos Productos Refrigerados: " + YogurProductoRefrigerado.getDatosProductosRefrigerados());
System.out.println("Atributo Productos Congelados: " + PizzaProductoCongelado.getDatosProductosCongelados());
}
}