ayuda con herencias por favor
Publicado por diego (1 intervención) el 21/06/2010 12:37:10
Hola a todos,
tengo un examen esta semana de C# y por mas que lo intento y estudio no acabo de comprender los polimorfismos (soy un poco burro para estas cosas), cuando entiendo como hacer un ejercicio encuentro otro que no se hacerlo. Tengo un ejercicio que no se como hacerlo y me gustaria si alguien pudiese explicarmelo por favor:
Dada la siguiente información de las clases, si ejecutamos el
fragmento de código, explica qué ocurre al ejecutar cada sentencia marcada
con un número. (Indica si se produciría algún error de compilación o ejecución y por qué. en caso contrario indica qué método se ejecuta).
informacion:
class A{
...
public Visualizar();
public abstract actualizar();
...
}
class B:A{
...}
class C:B{
...
public Visualizar_C();
public new virtual actualizar();
...
}
class D:B{
...
public override actualizar();
public new visualizar();
...
}
class F:C{
...
public override actualizar();
public new visualizar();
...
}
ejercicio:
ClaseB ObjB;
ClaseC ObjC;
ClaseA ObjA=new ClaseD();
ClaseF ObjF=new ClaseF();
ObjB=ObjF;
ObjB.visualizar_C(); {1}
ObjB.actualizar(); {2}
ObjB=ObjD;
ObjB.visualizar(); {3}
ObjD.actualizar(); {4}
ObjC=ObjF;
ObjC.visualizar_C(); {5}
ObjC.actualizar(); {6}
Gracias y un saludo a todos.
Diego
tengo un examen esta semana de C# y por mas que lo intento y estudio no acabo de comprender los polimorfismos (soy un poco burro para estas cosas), cuando entiendo como hacer un ejercicio encuentro otro que no se hacerlo. Tengo un ejercicio que no se como hacerlo y me gustaria si alguien pudiese explicarmelo por favor:
Dada la siguiente información de las clases, si ejecutamos el
fragmento de código, explica qué ocurre al ejecutar cada sentencia marcada
con un número. (Indica si se produciría algún error de compilación o ejecución y por qué. en caso contrario indica qué método se ejecuta).
informacion:
class A{
...
public Visualizar();
public abstract actualizar();
...
}
class B:A{
...}
class C:B{
...
public Visualizar_C();
public new virtual actualizar();
...
}
class D:B{
...
public override actualizar();
public new visualizar();
...
}
class F:C{
...
public override actualizar();
public new visualizar();
...
}
ejercicio:
ClaseB ObjB;
ClaseC ObjC;
ClaseA ObjA=new ClaseD();
ClaseF ObjF=new ClaseF();
ObjB=ObjF;
ObjB.visualizar_C(); {1}
ObjB.actualizar(); {2}
ObjB=ObjD;
ObjB.visualizar(); {3}
ObjD.actualizar(); {4}
ObjC=ObjF;
ObjC.visualizar_C(); {5}
ObjC.actualizar(); {6}
Gracias y un saludo a todos.
Diego
Valora esta pregunta


0