Estudiando un tema · Tema 3
Test de Herencia
15 preguntas tipo test de exámenes reales de Programación Orientada a Objetos, sólo de este tema.
Qué entra en este tema
- Entender y explicar el concepto de herencia
- Entender el concepto de polimorfismo presente en los LPOO
- Entender y explicar el concepto de ligadura dinámica
- Describir el papel fundamental que juegan las clases abstractas para escribir código genérico
- Reconocer e implementar las clases abstractas en el diseño de una jerarquía de clases
- Entender el papel de las interfaces para la definición de tipos
- Conocer y aplicar la implementación de métodos en las interfaces
- Conocer y describir como se relaciona el mecanismo de herencia con: el sistema de tipos, la visibilidad de las características de una clase y la creación de objetos
- Conocer y aplicar principios de diseño de jerarquías de herencia en la resolución de problemas
Según la guía docente oficial.
Configura tu test
15 preguntas de Tema 3: Herencia
Tu test
- Modo
- Estudio
- Preguntas
- 15 de 15
Preguntas falladas
Aquí irán las que falles, dejes en blanco o marques para revisar, para repasarlas después.
Ejemplos de preguntas de Herencia
8 de 15 preguntas. La respuesta correcta se ve al practicar.
- 1.
Dada una variable var, si (var instanceof A) es igual a true:
- a)Podemos asegurar que el tipo dinámico de var es un tipo compatible con A, esto es, A o una subclase de A.
- b)Podemos asegurar que el tipo estático de var es A.
- c)Podemos asegurar que el tipo dinámico de var es A.
- 2.
El operador instanceof se utiliza para:
- a)Consultar si el tipo dinámico de una variable es igual a una clase.
- b)Consultar si un objeto es instancia de una clase.
- c)Consultar si el tipo dinámico de una variable es compatible con una clase.
- 3.
Dada una clase A que tiene un constructor público que recibe un argumento de tipo entero y una clase B, subclase de A, indica la respuesta correcta:
- a)B se puede implementar sin constructores
- b)B puede declarar un constructor sin argumentos
- c)Los constructores de B deben tener la misma visibilidad que los constructores de la clase A
- 4.
Una asignación polimórfica es válida:
- a)Si el tipo estático de la derecha es compatible (mismo tipo o descendiente) con el tipo estático de la izquierda.
- b)Si el tipo dinámico de la derecha es compatible (mismo tipo o descendiente) con el tipo dinámico de la izquierda.
- c)Siempre que sea entre tipos de la misma jerarquía de herencia.
- 5.
Dada la siguiente jerarquía de herencia y las sentencias que se muestran, que formarían parte de la implementación de alguna clase: Jerarquía de herencia: A es clase padre de B y D; C hereda de B. Sentencias:
text
A oa = new D(); C oc = (C) oa;- a)El casting daría un error en tiempo de compilación.
- b)El casting daría un error en tiempo de ejecución.
- c)No daría error porque una conversión de tipos siempre es válida.
- 6.
¿Cuál es el resultado del siguiente código?
java
class A { public String met() { return "A"; } public String met2() { return met(); } } class B extends A { public String met() { return "B"; } public String met2() { return met() + " " + super.met(); } } class C extends B { public String met() { return "C"; } } public class PruebaLD { public static void main(String[] args) { A oa1 = new C(); System.out.println(oa1.met2()); A oa2 = new B(); System.out.println(oa2.met2()); } }- a)A A
- b)C B B A
- c)C A B A
- 7.
Dada la siguiente jerarquía de herencia y las sentencias que se muestran (que formarían parte de la implementación de alguna clase) ¿cuál es el tipo dinámico de la variable ob? Jerarquía de herencia: A es clase padre de B y D; C hereda de B. Sentencias:
text
A oa = new C(); B ob = (B) oa;- a)A
- b)B
- c)C
- 8.
La palabra reservada super en el cuerpo de un método de instancia (no static):
- a)Es una referencia a la clase padre.
- b)Se utiliza para invocar al método del mismo nombre disponible en la clase padre, simplemente escribiendo super([argumentos necesarios]).
- c)Se utiliza para invocar a cualquier método disponible en la clase padre.