Herencia y Polimorfismo

Descripción

Se evalúa el conocimiento de los conceptos de herencia, polimorfismo, clases abstractas y interfaces.
Carleslc
Test por Carleslc, actualizado hace más de 1 año
Carleslc
Creado por Carleslc hace casi 9 años
1100
0

Resumen del Recurso

Pregunta 1

Pregunta
¿Qué es la herencia?
Respuesta
  • Un tipo de método privado de cualquier clase que tenga subclases.
  • Son clases con métodos y atributos que deben implementarse en sus subclases.
  • El hecho de crear jerarquía de clases, donde una clase extiende de otra.
  • Un tipo de polimorfismo. Una subclase puede tener varias implementaciones.

Pregunta 2

Pregunta
¿Cuál de las siguientes opciones NO tendría sentido en herencia?
Respuesta
  • Clases hijas: Bulldog, Labrador, Husky. Clase padre: Perro.
  • Clases hijas: PerroBulldog, GatoPersa. Clase padre: Mascota.
  • Clase padre: Vehiculo. Clases hijas: Coche, Avion, Tren.
  • Clase padre: Gato. Clases hijas: Mascota, Persa, Siames.

Pregunta 3

Pregunta
Marca las palabras clave que estén relacionadas con la herencia.
Respuesta
  • abstract
  • private
  • instanceof
  • protected
  • extends
  • implements
  • static
  • class
  • super
  • interface

Pregunta 4

Pregunta
¿Qué es el polimorfismo? Marca una o más respuestas.
Respuesta
  • La manera mediante la cual clases diferentes con métodos iguales pueden tener implementaciones diferentes.
  • Las clases polimorfas son aquellas que pueden tener métodos abstractos.
  • Es un concepto de POO donde una clase hija hereda o extiende de otra padre.
  • El hecho de que un método de la clase pueda cambiar en tiempo de ejecución.

Pregunta 5

Pregunta
¿Una clase abstracta tiene métodos no abstractos?
Respuesta
  • Todos los métodos son abstractos, pero los atributos constantes pueden no serlo.
  • No, en una clase abstracta por definición todos sus métodos son abstractos.
  • Sí. En una clase abstracta sólo los atributos son abstractos, los métodos no.
  • A veces sí, a veces no, depende como se definan los métodos de la clase.

Pregunta 6

Pregunta
A, B, C y D son clases con métodos propios. A es una clase abstracta con métodos abstractos. B hereda de A. C hereda de B. D hereda de A. Marca las respuestas verdaderas.
Respuesta
  • B, C y D pueden ser clases abstractas y tener otras subclases.
  • El conjunto de métodos de C es un subconjunto de los de B y A.
  • El conjunto de métodos de A es un subconjunto de los de B, C y D.
  • C y D tienen métodos compartidos con B, pero con diferente implementación.

Pregunta 7

Pregunta
¿Qué es una interfaz?
Respuesta
  • Es una clase donde todos sus métodos se deben definir como abstractos.
  • Es una "clase especial" que no puede tener subclases.
  • Es una ventana gráfica que permite diseñar la parte visual de un programa.
  • Es una colección que especifica métodos sin implementar y atributos constantes comunes para todas las clases que la implementen.

Pregunta 8

Pregunta
¿Qué diferencias hay entre una clase abstracta y una interfaz? Marca una o más respuestas.
Respuesta
  • Si una clase abstracta tiene todo definido como abstract no hay diferencias.
  • Una interfaz no tiene subclases, sino clases que la implementan, por lo que no es posible usar la palabra clave super en ninguna clase que implemente la interfaz.
  • Todos los atributos de una interfaz son declarados constantes por defecto (public static final).
  • Una interfaz tiene herencia múltiple y todos sus métodos son public abstract.
  • En una clase abstracta se pueden definir constructores y otros métodos directamente implementados, en una interfaz no.
  • En una clase abstracta se pueden declarar funciones abstractas, en una interfaz no.

Pregunta 9

Pregunta
A, B y C son interfaces. D es una clase abstracta. Viendo el diagrama modular de la jerarquía de clases, marca las opciones verdaderas.
Respuesta
  • C extends A, B
  • E extends D implements A, C
  • D extends B
  • E extends D implements A, B, C
  • E implements D extends A, C
  • C implements A, B
  • D implements B
  • La conexión directa entre A y E es redundante. Si la quitamos el diagrama sería equivalente.

Pregunta 10

Pregunta
Selecciona las opciones que sean interfaces (API Java 8).
Respuesta
  • Map<K, V>
  • AbstractCollection<E>
  • Queue<E>
  • Stack<E>
  • Iterable<T>

Pregunta 11

Pregunta
Dado este diagrama de jerarquía, ¿cuál sería la salida del siguiente programa? D obj = new E(); if (obj instanceof A) System.out.println("Verdadero"); else System.out.println("Falso");
Respuesta
  • True
  • False
Mostrar resumen completo Ocultar resumen completo

Similar

Glosario Programación Orientada a Objetos
Joel Garavito Navarro
Programacion orientada a objetos
david20lopez
Programación Orientada a Objetos (POO) - Por Guillermo Ospitia
Guillermo Ospitia
JAVA Características de POO
Humberto Lopez
Programacion Orientada a Obejtos
pancho_net_uso
Interfaces y clases abstractas
abby.olvera666
PROGRAMACIÓN ORIENTADA A OBJETOS
diana paola marin hernandez
Bases de Datos Orientadas a Objetos
Ixchel Kamieth
Herencia Genética básica
Catalina Ramos
Java: Herencia y Polimorfismo
Ana Emilie
Herencia y Polimorfismo
José SE