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 } }