Página 1 de 1

Puedo instanciar un objeto con un constructor de otra clase?

Publicado: 14 Sep 2012, 03:53
por Synth3tik0
Tengo una super clase A y una clase B, B hereda de A entonces quiero crear un objeto B B mi_objeto = new (¿aqui podria usar un constructor de A? )

Esa es mi pregunta.

Re: Puedo instanciar un objeto con un constructor de otra cl

Publicado: 14 Sep 2012, 06:11
por adwind
viceversa si se puede. Mañana te explico porque ya que estoy en el móvil

Re: Puedo instanciar un objeto con un constructor de otra cl

Publicado: 14 Sep 2012, 16:26
por adwind
Lo que tratas de hacer es tratar a "A" como "B" pero si nos damos cuenta A no tiene ninguna propiedad de B, pero viceversa si, B tiene propiedades de "A" ya que es hijo de A

Re: Puedo instanciar un objeto con un constructor de otra cl

Publicado: 14 Sep 2012, 23:32
por Synth3tik0
adwind escribió:Lo que tratas de hacer es tratar a "A" como "B" pero si nos damos cuenta A no tiene ninguna propiedad de B, pero viceversa si, B tiene propiedades de "A" ya que es hijo de A
Y si hiciera A extends B y B extends A entonces si me dejaria verdad?

Re: Puedo instanciar un objeto con un constructor de otra cl

Publicado: 15 Sep 2012, 00:42
por adwind
Si quieres usar varios tipos de clase asi te recomiendo uses interfaces

public interface A{

public void hello();

}

public class B implements A{
public void hello(){
//Mensaje de Hola
}

public class C implements A{
public void hello(){
//Mensaje de Hola
}

public class main{
public static void main(String[] argumentos){
//Aquí puedes hacer esto ;)

A a1=new B();
a1.hello();
A a2=new C();
a2.hello();
}

}

Re: Puedo instanciar un objeto con un constructor de otra cl

Publicado: 18 Sep 2012, 04:25
por Synth3tik0
:D ooh ya veo, lo intentaré, Gracias...

Re: Puedo instanciar un objeto con un constructor de otra cl

Publicado: 18 Sep 2012, 17:24
por adwind
Synth3tik0 escribió:Y si hiciera A extends B y B extends A entonces si me dejaria verdad?
Eso se le llama aberración. Ya que entrarías en un ciclo. Eso no se puede hacer.