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.
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.
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");