Cuestiones
ayuda
option
Mi Daypo

TEST BORRADO, QUIZÁS LE INTERESEProgramación - UD6 - DAW - Tests

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del test:
Programación - UD6 - DAW - Tests

Descripción:
Utilización avanzada de clases

Autor:
AVATAR
Francisco Javier Gutiérrez Pérez
(Otros tests del mismo autor)


Fecha de Creación:
23/04/2023

Categoría:
Informática

Número preguntas: 29
Comparte el test:
Facebook
Twitter
Whatsapp
Comparte el test:
Facebook
Twitter
Whatsapp
Últimos Comentarios
No hay ningún comentario sobre este test.
Temario:
¿Qué modificadores incluyen implícitamente los métodos de una interfaz en Java y, por tanto, no es necesario indicarlos? protected y final. public y abstract. public y final. protected y abstract.
En Java no está permitida la herencia múltiple de clases. Verdadero Falso.
¿Cómo podrías acceder al constructor de la superclase desde una determinada clase? Mediante la referencia this. Mediante la referencia super. Mediante el método this(). Mediante el método super().
¿Con qué nombre son conocidas aquellas clases cuya única función es la de ser superclase en una jerarquía, sin que llegue a haber nunca instancias de ellas? Clases básicas. Clases abstractas. Clases jerárquicas. Ese tipo de clases no tienen sentido y no existen en Java.
Un método abstracto no puede ser estático. Verdadero Falso.
¿Qué hay que hacer en Java para crear un objeto polimórfico? Utilizar la palabra reservada polimorphic. Declarar una variable como referencia a un objeto de una clase determinada y posteriormente asignar a esa variable referencias a objetos de otras clases diferentes. Declarar una variable como referencia a un objeto de una clase determinada que tenga clases derivadas y así posteriormente se podrán asignar a esa variable referencias a objetos de subclases de la clase referencia inicial. En Java no es posible el polimorfismo.
Supongamos que disponemos de las clases Rana, que hereda de Anfibio; Leon, que hereda de Felino y Gacela, que hereda Bovido. Así mismo, también disponemos de las interfaces Depredador, implementada por Rana y Leon; y de Presa, implementada por Gacela y Rana. Indicar cuál es la afirmación correcta Las clases Leon y Gacela no tienen por qué compartir ningún método. Las clases Rana y Leon no comparten ningún método. Las clases Gacela y Rana no comparten ningún método. Las clases Gacela y Leon comparten al menos un método. Las clases Felino y Anfibio comparten al menos un método.
Dada una jerarquía de clases Animal, León, Tigre, donde Animal sería la clase padre de las otras dos, si tuviéramos un método aullar, que hiciera exactamente lo mismo para ambas clases hijas, ¿dónde sería lógico incluir dicho método? Sólo en cada una de las clases hijas. Sólo en la clase padre. En la clase padre y en las hijas. En cualquier sitio viene bien.
En Programación Orientada a Objetos, ¿con qué nombre es conocido el mecanismo que permite crear clases basadas en otras existentes? Polimorfismo Derivación Herencia Encapsulación.
Dado el siguiente fragmento de código: @Override public String toString () { StringBuilder resultado; resultado= new StringBuilder (super.toString()); resultado.append("\⁣n"); resultado.append ("Especialidad: ").append(this.especialidad).append("\⁣n"); resultado.append ("Salario: ").append(String.format("%7.2f euros", this.salario)); return resultado.toString(); Se está llevando a cabo una "especialización" del método toString() de la clase padre, aprovechando todo lo que hace éste y añadiéndole funcionalidad específica. Es un ejemplo de sobrescritura de métodos. Se trata de un método abstracto. Contiene una llamada recursiva al propio método toString(). Se realiza una llamada al constructor de la clase padre a través de la referencia super.
Supongamos que disponemos de las clases Rana, que hereda de Anfibio; Leon, que hereda de Felino y Gacela, que hereda Bovido. Así mismo, también disponemos de las interfaces Depredador, implementada por Rana y Leon; y de Presa, implementada por Gacela y Rana. Indicar cuál es la afirmación correcta Las clases Rana y Leon comparten al menos un método. Las clases Rana y Gacela es posible que no compartan ningún método. Las clases Rana y Leon no tienen por qué compartir ningún método. Las clases Gacela y Leon comparten al menos un método. Las clases Felino y Anfibio comparten al menos un método.
Cuando una clase está definida dentro de otra, ¿qué tipo de relación se suele decir que existe entre esas dos clases? Herencia Derivación Anidación Composición.
Dado el siguiente fragmento de código: @Override public final String representacion() { StringBuilder resultado; resultado= new StringBuilder (super.representacion()); resultado.append("\⁣n"); resultado.append ("Especialidad: ").append(this.especialidad).append("\⁣n"); resultado.append ("Salario: ").append(String.format("%7.2f euros", this.salario)); return resultado.toString(); } Se está llevando a cabo una "especialización" del método representacion() de la clase padre, aprovechando todo lo que hace éste y añadiéndole funcionalidad específica. Se trata de un método que no podrá ser redefinido o sobrescrito en una clase derivada. Si se intenta redefinir este método en una subclase se producirá un error de compilación. Se trata de un método abstracto. Se trata de un método que tendrá que ser obligatoriamente implementado en cualquier clase derivada.
¿Sobre qué elementos puede aplicarse el modificador private? Cualquier tipo de clase y atributos. Sólo atributos. Clases solo si son internas o anidadas, atributos y métodos. Solo atributos y métodos.
¿Qué clase Java define e implementa el comportamiento común a todas las clases (incluidas las que desarrolle el programador)? Template Object Class No existe tal clase en Java.
¿Cuál es la palabra reservada que se utiliza para indicar la herencia múltiple de clases en Java? extendsMultiple inherits Ninguna. Java no soporta la herencia múltiple de clases. isSubClass.
Si una clase lleva el modificador abstract ya no puede llevar ese modificador ninguno de sus métodos, pues sólo uno de los dos puede ser abstracto (o la clase o algunos de sus métodos). Verdadero Falso.
¿Qué diferencia existe entre la ligadura dinámica y la ligadura estática? En realidad no existe ninguna diferencia, son dos formas distintas de llamar al mismo fenómeno. En la ligadura estática la vinculación entre una llamada a un método y el método que finalmente va a ser ejecutado se realiza en tiempo de compilación, mientras que en la ligadura dinámica esa vinculación se lleva a cabo en tiempo de ejecución. En la ligadura estática la vinculación entre una llamada a un método y el método que finalmente va a ser ejecutado se realiza en tiempo de ejecución, mientras que en la ligadura dinámica esa vinculación se lleva a cabo en tiempo de compilación. En la ligadura dinámica se puede llamar a métodos que no existen y que en tiempo de ejecución darán lugar a un error.
Dada una superclase con dos subclases, el polimorfismo... Nos permitiría declarar variables del tipo de la superclase y más tarde hacer con ellas referencia a objetos del tipo de las subclases. Nos permitiría declarar variables del tipo de la superclase, pero no deberíamos intentar acceder con esa variable a métodos que sean específicos de una de las subclases. Nos permitiría declarar variables del tipo de la superclase para acceder sin problemas a métodos que sabemos que van a existir seguro en ambos tipos de objetos (métodos de la superclase). Todas las respuestas anteriores son correctas.
Imagínate que tienes dos clases, una llamada Cancion y otra llamada Album, ¿qué relación es la más lógica entre ambas clases? Composición Herencia Anidamiento Especialización.
Dado el siguiente línea de cabecera de declaración de una clase: public class Mago extends Personaje implements Entrenable { Se está definiendo una clase que hereda de otra (Personaje) e implementa un interfaz (Entrenable). Se trata de un ejemplo de clase no derivable. La jerarquía de clases a la que pertenece acaba en ella (no puede tener clases hijas). Es un ejemplo de herencia múltiple. Se trata de una clase no instanciable. Se está definiendo una clase que hereda de otra (Entrenable) e implementa un interfaz (Personaje).
¿Cómo podrías acceder a un método de la superclase desde una determinada clase? Mediante el método this(). Mediante el método super(). Mediante la referencia super. Mediante la referencia this.
¿Qué significa en Java el siguiente código? class A extends B { } La clase A es una especialización de B. La clase B hereda a la clase A. La clase A es una composición de la clase B. La clase A es una agregación de B.
¿Cuál de los siguientes elementos permite la herencia múltiple en Java? Clases Interfaces Ambos Ninguno de ellos.
Dadas las siguientes definiciones de interfaces y clase: public interface Hablador { public String saludar (); public String despedirse (); } public interface Entrenable { public void entrenar (double porcentaje) throws IllegalArgumentException; } public abstract class Personaje implements Hablador { ... } public class Soldado extends Personaje implements Entrenable { ... } Indicar qué afiirmaciones son correctas. La clase Soldado debe implementar el método entrenar(). Cualquier instancia de la clase Soldado podrá llamar a un método llamado entrenar(). No es necesario que la clase Persona implemente los métodos de la interfaz Hablador. Cualquier instancia de la clase Persona podrá llamar a un método llamado entrenar(). La clase Soldado es un ejemplo de clase no derivable. La jerarquía de clases a la que pertenece acaba en ella (no puede tener clases hijas).
¿Cuál es la palabra reservada que se utiliza para indicar la composición de clases en Java? composed partOf No es necesario indicar ninguna palabra reservada. isPartof.
Dado el siguiente fragmento de código: public class Alumno extends Persona, Ciudadano { private String grupo; private double notaMedia; ... } Indicar qué afiirmaciones son correctas. Dará lugar a un error de compilación, pues Java no soporta la herencia múltiple. Se trata de un ejemplo de implementación de dos interfaces: Persona y Ciudadano. Se trata de un ejemplo en el que se hereda y se implementa una interfaz a la vez. Cualquier clase que herede de esta otra, tendrá acceso a los atributos de las clases Persona y Ciudadano pues serán sus ancestros. Se trata de un caso de herencia múltiple en el cual habrá que evitar que se produzcan ambigüedades en los miembros de las clases padre Persona y Ciudadano.
Si una clase contiene algún método abstracto, tendrá que ser obligatoriamente una clase abstracta. Verdadero Falso.
¿Cómo se indica en Java que una clase hereda de otra? Mediante la palabra reservada inherits. Mediante la palabra reservada extends. Mediante el operador dos puntos ( : ). Mediante la palabra reservada base.
Denunciar test Consentimiento Condiciones de uso