UniTestReal

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

Modo

En los dos modos: sin límite de tiempo. Cada fallo resta media pregunta y las que dejas en blanco no restan.

Número de preguntas
de 15 disponibles

Has pedido 30, pero con esta selección sólo hay 15: el test tendrá 15 preguntas.

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. 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. 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. 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. 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. 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:

    textA 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. 6.

    ¿Cuál es el resultado del siguiente código?

    javaclass 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. 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:

    textA oa = new C();
    B ob = (B) oa;
    • a)A
    • b)B
    • c)C
  8. 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.