

class Box {

    public float ancho;
    public float largo;
    public float profundidad;
    public float volumen;

    public Box(){ }
    public Box(Box b){
        this.ancho=b.ancho;
        this.largo=b.largo;
        this.profundidad=b.profundidad;

    }
    public Box(float anch,float larg,float prof){
        this.ancho=anch;
        this.largo=larg;
        this.profundidad=prof;
        
        
    }

    public Box(float cubo){
        this.ancho=cubo;
        this.largo=cubo;
        this.profundidad=cubo;
        
    }

    public void calcularVolumen(){
        this.volumen=this.largo*this.ancho*this.profundidad;
    }

    public float getVolumen(){
        return this.volumen;
    }
   
    
}


class BoxPeso extends Box{
    float peso;

    public BoxPeso(){  
        super();
    }

    public BoxPeso(Box b){
        super(b);
    }

    public BoxPeso(float ancho,float largo,float profundidad){
        super(ancho,largo,profundidad);
    }

    public BoxPeso(float cubo,float peso){
        super(cubo);
        this.peso=peso;
    }


    public float getPeso(){
        return this.peso;
    }
}


class Envio extends BoxPeso {
        float ancho;
        float largo;
        float profundidad;

    public Envio(){  
        super();
    }
    public Envio(Box b){
        super(b);
    }

    public Envio(float ancho,float largo,float profundidad){
        super(ancho,largo,profundidad);
    }

    public Envio(float cubo,float peso){
        super(cubo,peso);
    }



}
public class polimorfismo{

    public static void main(String[] args) {
        
        Envio obj1= new Envio(2,3);//envio los atribuo lado de un cubo y el peso

        Box box1=new Box(1,2,3);//crea un objeto Box
        Envio obj2= new Envio(box1);//envia el objeto box e inicializa con sus datos
        obj1.calcularVolumen();
        obj2.calcularVolumen();
        
        System.out.println("Volumen del objeto 1= "+obj1.getVolumen());//imprime el volumen
        System.out.println("Peso del objeto1= "+obj1.getPeso());//obtiene el peso
        System.out.println("Volumen del objeto 2= "+obj2.getVolumen());//obtiene el volumen del objeto 2
    }
}

