Herencia y Polimorfismo

Description

Se evalúa el conocimiento de los conceptos de herencia, polimorfismo, clases abstractas y interfaces.
Carleslc
Quiz by Carleslc, updated more than 1 year ago
Carleslc
Created by Carleslc over 9 years ago
1151
0

Resource summary

Question 1

Question
¿Qué es la herencia?
Answer
  • 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.

Question 2

Question
¿Cuál de las siguientes opciones NO tendría sentido en herencia?
Answer
  • 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.

Question 3

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

Question 4

Question
¿Qué es el polimorfismo? Marca una o más respuestas.
Answer
  • 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.

Question 5

Question
¿Una clase abstracta tiene métodos no abstractos?
Answer
  • 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.

Question 6

Question
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.
Answer
  • 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.

Question 7

Question
¿Qué es una interfaz?
Answer
  • 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.

Question 8

Question
¿Qué diferencias hay entre una clase abstracta y una interfaz? Marca una o más respuestas.
Answer
  • 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.

Question 9

Question
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.
Answer
  • 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.

Question 10

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

Question 11

Question
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");
Answer
  • True
  • False
Show full summary Hide full summary

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