duda de extends [si se puede heredar varias veces]

Iniciado por drakolive, 13 Junio 2008, 04:34 AM

0 Miembros y 1 Visitante están viendo este tema.

drakolive

porquie si compilo el siguiente codigo si es correcto??
Código (java) [Seleccionar]

public class Num{


}

class A extends Num{

}

class B extends A{

}


Tenia entendido que la herencia multiple en java no se podia, pero al compilar eso me genera 3 archivos .class porque?
tenego esa duda.

Casidiablo

No da error porque es correcto. Una cosa es la herencia multiple, en la que de un solo tajo heredas propiedades de dos o más clases, y otra cosa es lo que pones ahí. En este caso, NO es herencia múltiple, ya que solo heredas UNA clase al principio, y otra al FINAL, pero no al mismo tiempo.

Y cuando compilas te salen 3 .class, porque tienes tres clases: Num, A y B.

Un saludo!

sirdarckcat

FYI
Citar
Código (java) [Seleccionar]


    Class Other
    { public Other(int value) { ... }
   
    public void whatever()
    {...
    }
    }


Código (java) [Seleccionar]
Interface OtherInterface
{ void whatever();
}

Código (java) [Seleccionar]
class OtherChild extends Other implements OtherInterface
{ public OtherChild (int value){ super(value); }
}

Código (java) [Seleccionar]
Class ParentChild extends Parent implements OtherInterface
{ public ParentChild(...) { child = new OtherChild(...); ... }

public void whatever() { child.whatever(); }

private final OtherInterface child;
}

So, in this class we have merged the actual implementations of two other classes, Parent and Other without modifying either class. This is general multiple inheritance. In Java we needed to define and implement interfaces and use delegation to an object of one of the classes to achieve this.

++
http://pclc.pace.edu/~bergin/patterns/multipleinheritance.html