Cuestiones
ayuda
option
Mi Daypo

TEST BORRADO, QUIZÁS LE INTERESEconocimiento del medio

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del test:
conocimiento del medio

Descripción:
conocimiento del medio tecnologico avanzado

Autor:
Perico los palotes

Fecha de Creación:
27/12/2021

Categoría:
Cine y TV

Número preguntas: 262
Comparte el test:
Facebook
Twitter
Whatsapp
Comparte el test:
Facebook
Twitter
Whatsapp
Últimos Comentarios
No hay ningún comentario sobre este test.
Temario:
La forma canoníca en C++ incluye el constructor copia, el destructor, el operador asignación, el constructor por defecto y cualquier otro constructor parametrizado. V F.
En JAVA la forma canoníca incluye constructor, equals, hashCode, toString y clone. V F.
Tanto la herencia protegida como la privada permiten a una clase derivada acceder a las propiedades privadas de la clase base. V F.
Independientemente del tipo de herencia la clase base siempre podrá acceder a lo público, protegido y default heredado pero no a lo privado. V F.
Una clase abstracta se caracteriza por declarar todos sus métodos de instancia como abstractos. V F.
En JAVA la clase deberá contener al menos un método abstracto para ser declarada como tal en C++ no. V F.
La siguiente sentencia class S {public final void f(){}} constituye una interfaz en JAVA. V F.
La siguiente sentencia interfaz S {void f();} constituye una interfaz en C++. V F.
Desde un método de una clase derivada nunca puede invocar un método implementado con idéntica signatura de su clase. V F.
Desde un método de una clase derivada nunca puede invocarse un método implementado en esta con el mismo nombre que en la clase base. V F.
En Java los métodos de instancia con polimorfismo puro pero no abstracto tienen enlace dinámico. V F.
Una operación de clase solo puede acceder directamente a atributos de clase. V F.
Una operación de instancia puede acceder directamente a atributos de clase y de instancia. V F.
Una operación de clase no es una función miembro de la clase V F.
En la misma clase podemos definir constructores de con distinta visibilidad. V F.
El modificador static es correcto para JAVA pero no para C++ cuando lo usamos con constructores. V F.
Un buen diseño OO se caracteriza por un alto acoplamiento y una baja cohesión. V F.
Mediante la herencia de implementación heredamos la implementación de los métodos de la clase base pero no la interfaz de esta. V F.
La genericidad es un tipo de polimorfismo. V F.
El polimorfismo es un tipo de genericidad. V F.
En JAVA y en C++ todas las clases son polimórficas. V F.
El downcasting en JAVA y en C++ es siempre dinámico. V F.
Si la conversión, downcasting, es fuera de la jerarquía de herencia JAVA dará error de ejecución. V F.
El downcasting implica deshacer el principio de sustitución. V F.
En JAVA si no se captura una excepción lanzada por un método da error la compilación. V F.
La instrucción throw en JAVA solo permite lanzar objetos que son de la clase throwable o clases derivada de esta. V F.
Uno de los objetivos del tratamiento de errores mediante excepciones es el manejo de errores del resto del código. V F.
Si no se captura una excepción por un método, el programa no advierte que ha ocurrido error y continúa su ejecución que llamo a este. V F.
En JAVA. Siempre es obligatorio especificar que excepciones verificadas (checked exceptions) lanza un método mediante una clausula throws tras la lista de argumentos. V F.
Si se produce una excepción el método que la provoca se cancela y se continúa la ejecución en el método que llamo a este. V F.
Si se produce una excepción en un constructor el objeto se construirá con los valores por defecto. V F.
Todas las excepciones son checked exception salvo las runtime que son uncheked exception. V F.
La cláusula throws de un método incluirá todas las excepciones uncheked exception que puedan producirse en este y no estén dentro del bloque try catch que les capture. V F.
El orden de las excepciones en los bloques catch no es relevante. V F.
Podemos poner un bloque finally sin poner bloques catch. V F.
El bloque finally solo se ejecutará si se produce alguna excepción en el bloque try al que este asociado. V F.
IllegalArgumentException, ArrayIndexOutOfBoundsException, ClassCastException y IOExceptio son excepciones del tipo runtimeException y por tanto no es necesario capturarlas ni indicar throws en el método en el que se provoquen. V F.
La genericidad se considera una característica opcional de los lenguajes. V F.
La genericidad se considera una característica opcional de los lenguajes OO. V F.
No se puede derivar una clase genérica de una clase no genérica. V F.
En JAVA no podemos crear interfaces genéricas. V F.
En los métodos genéricos solo podremos usar los métodos definidos en Object. V F.
En la genericidad restringida solo podremos usar los métodos de Object al implementar los métodos. V F.
La API de reflexión de JAVA incluye métodos para obtener la signatura de todos los métodos. V F.
La reflexión permite que un programa obtenga información sobre sí mismo en tiempo de ejecución. V F.
Para usar reflexión en JAVA hemos de conocer el nombre de las clases den tiempo de compilación. V F.
En JAVA el concepto de meta-clase se presenta con la clase Class. V F.
Con el uso de la reflexión solo podemos invocar métodos de instancia. V F.
La reflexión solo es útil para trabajar con componentes JavaBeans. V F.
La reflexión es demasiado compleja para usarla en aplicaciones de propósito general. V F.
La reflexión reduce el rendimiento de las aplicaciones. V F.
La reflexión no puede usarse en aplicaciones certificadas con estándar 100% Pure Java. V F.
Mediante reflexión podemos saber cuáles son las clases derivadas de una clase dada. V F.
Mediante reflexión no podemos saber cuál es el método que se está ejecutando en un determinado momento. V F.
Podemos usar reflexión para encontrar un método heredado (solo hacia arriba) y reducir código condicional. V F.
La refactorización debe hacerse siempre apoyándonos en un conjunto de tests completo y robusto. V F.
Una clase con gran número de métodos y atributos es candidata a ser refactorizada. V F.
Los métodos grandes (con muchas instrucciones) son estructuras que sugieren la posibilidad de una refactorización. V F.
En la refactorización se permite que cambie la estructura interna de un sistema software aunque varié su comportamiento externo. V F.
Un ejemplo de refactorización seria mover un método arriba o abajo en la jerarquía de herencia. V F.
Los frameworks no contienen implementación alguna, únicamente un conjunto de interfaces que deber ser implementados por el usuario del framework. V F.
Un framework invoca mediante enlace dinámico a nuestra implementación de interfaces propios de framework. V F.
Hibernate es un framework para congelar en memoria el estado de nuestra aplicación. V F.
JDBC es un framework de JAVA que usan los fabricantes de sistemas de gestión de bases de datos para ofrecer un acceso estandarizado a las bases de datos V F.
El usuario de un framework implementa al componente declarado de los interfaces de framework mediante herencia de implementación. V F.
El usuario de un framework implementa el comportamiento declarado en los interfaces del framework mediante herencia de interfaz. V F.
Un framework es un conjunto de clases cuyos métodos invocamos para que realicen unas tareas a modo de caja negra. V F.
En JAVA el acceso a bases de datos se hace con librerías propietarias de SGBD cuyos interfaces no tienen ningún estándar. V F.
Para poder utilizar un framework, es necesario crear clases que implementen todas las interfaces declaradas en el framework. V F.
Una librería de clases proporciona una funcionalidad completa, es decir, no requiere que el usuario implemente o herede nada. V F.
El polimorfismo es una forma de reflexión. V F.
En el proceso de diseño de un sistema de software se debería intentar aumentar el acoplamiento y la cohesión. V F.
Cuando diseñamos sistema OO las interfaces de las clases que diseñamos deberían estar abiertas a la extensión y cerradas a la modificación. V F.
Todo espacio de nombre define su propio ámbito, distinto de cualquier otro. V F.
Una colaboración describe como un grupo de objetos trabaja conjuntamente para realizar una tarea. V F.
En el diseño mediante tarjetas CRC utilizamos una tarjeta para cada clase. V F.
Una tarjeta CRC contiene el nombre de una clase, su lista de responsabilidades y su lista de colaboradores. V F.
La robustez de un sistema software es un parámetro de calidad intrínseco. V F.
El principio abierto-cerrado indica que un componente software debe estar abierto a su extensión y cerrado a su modificación. V F.
Con el diseño OO es perfectamente posible y deseable hacer uso de variables globales. V F.
Los métodos definidos en una clase derivada nunca pueden acceder a las propiedades privadas de una clase base. V F.
Una clase abstracta se caracteriza por no tener definido ningún constructor. V F.
La siguiente clase: class S {public: S(); S(const S &s); virtual ~S();}; constituye una interfaz en C++. V F.
Desde un método de una clase derivada nunca puede invocarse a un método implementado con la idéntica signatura de una de sus clases base. V F.
Los métodos virtuales son métodos abstractos. V F.
Los métodos abstractos son métodos con enlace dinámico. V F.
Los constructores de las clases abstractas son métodos con enlace dinámico. V F.
Un atributo de clase debe tener visibilidad pública para poder ser accedido por los objetos de la clase. V F.
Un método sobrecargado es aquel que recibe como argumento al menos una variable polimórfica. V F.
Un método tiene polimorfismo puro cuando devuelve una variable polimórfica. V F.
En C++ no podemos hacer sobrecarga de operadores para tipos predefinidos. V F.
En C++, si no se define un constructor sin argumentos explícitamente, el compilador proporciona uno por defecto. V F.
En la misma clase, podemos definir constructores con distinta visibilidad. V F.
Si no se captura una excepción lanzada por un método, el programa no advierte que ha ocurrido algún error y continúa su ejecución normalmente. V F.
La instrucción throw permite lanzar como excepción cualquier tipo de dato. V F.
Dada una clase genérica, se pueden derivar de ella clases no genéricas. V F.
De una clase abstracta no se pueden crear instancias, excepto si se declara explícitamente algún constructor. V F.
Una clase interfaz no puede tener atributos de instancia. Una clase abstracta sí puede tenerlos. V F.
La herencia de interfaz se implementa mediante herencia pública. V F.
La herencia pública permite a los métodos definidos en una clase derivada acceder a las propiedades privadas de la clase base. V F.
Una clase abstracta se caracteriza por declarar al menos un método abstracto. V F.
La siguiente clase: class S {public: Object +o;}; constituye una clase interfaz en C++. V F.
Los métodos abstractos siempre tienen enlace dinámico. V F.
Los constructores siempre son métodos virtuales. V F.
Un método tiene polimorfismo puro cuando tiene como argumentos al menos una variable polimórfica. V F.
Un atributo declarado con visibilidad protegida en una clase A es accesible desde clases definidas en el mismo espacio de nombres donde se definió A. V F.
Una de las características básicas de una lengua orientada a objetos es que todos los objetos de la misma clase pueden recibir los mismos mensajes. V F.
Una operación de clase sólo puede ser invocada mediante objetos constantes. V F.
En C++, si no se define ningún constructor, el compilador proporciona por defecto uno sin argumentos V F.
Una clase interfaz no puede tener instancias. V F.
Una clase abstracta siempre tiene como clase base una clase interfaz V F.
No se puede definir un bloque catch sin su correspondiente bloque try. V F.
Tras la ejecución de un bloque catch, termina la ejecución del programa. V F.
Una variable polimórfica puede hacer referencia a diferentes tipos de objetos en diferentes instantes de tiempo. V F.
El downcasting estático siempre es seguro. V F.
El principio de sustitución implica una coerción entre tipos de una misma jerarquía de clases. V F.
La sobrecarga basada en ámbito permite definir el mismo método en dos clases diferentes. V F.
Una operación de clase no puede tener enlace dinámico. V F.
La herencia protegida permite a los métodos de la clase derivada acceder a las propiedades privadas de la clase base. V F.
La siguiente clase en C++: class S {public: virtual ~S()=0;}; define una interfaz. V F.
Los métodos virtuales siempre tienen enlace dinámico. V F.
Los constructores siempre tienen enlace dinámico. V F.
En C++, un atributo de la clase debe declararse dentro de la clase con el modificador static. V F.
Dada la siguiente definición de clase en C++: class TClase {public: TClase (int dim); private: int var1;}; La instrucción TClase c1; no da error de compilación e invoca al constructor por defecto. V F.
Una de las características básicas de un lenguaje orientado a objetos es que todos los objetos de la misma clase pueden recibir los mismos mensajes. V F.
Hablamos de encapsulación cuando agrupamos datos junto con las operaciones que pueden realizarse sobre esos datos. V F.
En C++ los constructores se pueden declarar como métodos virtuales. V F.
En C++, es obligatorio especificar qué excepciones lanza una función mediante una cláusula throw tras la declaración de la función. V F.
Una clase interfaz no debe tener atributos de instancia. Una clase abstracta sí puede tenerlos. V F.
Un mensaje tiene cero o más argumentos. Por el contrario, una llamada a procedimiento/función tiene uno o más argumentos. V F.
La interpretación de un mismo mensaje puede variar en función del receptor del mismo y/o del tipo de información adicional que lo acompaña. V F.
En una agregación, la existencia de un objeto-parte depende de la existencia del objeto-todo que lo contiene. V F.
Una forma de mejorar el diseño de un sistema es reducir su acoplamiento y aumentar su cohesión. V F.
Los iniciadores en C++ tienen el formato nombreAtributo(valor) [o nombre_atributo(valor), otra pregunta] y se colocan entre la lista de argumentos y el cuerpo de cualquier método, permitiendo asignar valores a los atributos de instancia de la clase en la que se define dicho método. V F.
Un atributo estático ocupa una zona de memoria que es compartida por todos los objetos de la clase en la que se define, aunque no por los objetos de cualquier clase derivada de ella. V F.
La herencia múltiple se produce cuando de una misma clase base se heredan varias clases derivadas. V F.
Un atributo protegido en la clase base es también protegido en cualquier clase que derive de dicha base, independientemente del tipo de herencia utilizado. V F.
Cuando se crea un objeto de la clase D de que deriva de una clase B, el orden de ejecución de los constructores es siempre B() D(). V F.
Una interfaz es una clase abstracta con al menos un método de instancia abstracto. V F.
Un método de clase (estático) no puede tener enlace dinámico. V F.
Un método virtual en C++ siempre tiene enlace estático. V F.
La llamada a un método sobrescrito se resuelve en tiempo de compilación. V F.
Los métodos definidos en una clase genérica son a su vez genéricos. V F.
La instrucción throw (en C++) sólo permite lanzar objetos de la clase exception o de clases derivadas de ella. V F.
En el cuerpo de una operación de clase no se puede acceder a ningún atributo/operación de instancia de los objetos pasados como parámetro. V F.
En una composición de un objeto componente puede formar parte de más de un compuesto. V F.
Los TAD’s representan una perspectiva orientada a datos, mientas que los objetos reflejan una perspectiva orientada a servicios. V F.
Un atributo privado en la clase base no es directamente accesible en la clase derivada, independientemente del tipo de herencia utilizado. V F.
Una clase es una especificación abstracta de una estructura de datos y de las operaciones que se pueden realizar con ella. V F.
Una operación constante sólo puede ser invocada por un objeto constante. V F.
Un constructor de copia acepta cualquier tipo de modificador (static, const, public, etc). V F.
Implementar la forma canónica ortodoxa de una clase es una condición necesaria (aunque no suficiente para controlar que el valor de un atributo de clase que cuenta el número de instancias de dicha clase esté siempre en un estado consistente. V F.
La existencia de una relación todo-parte entre dos clases implica necesariamente que el objeto todo maneja la creación/destrucción de los objetos parte. V F.
La forma canónica de la clase está formada por el constructor, el constructor de copia, el destructor y el operador de asignación. V F.
Si la clase no proporciona un constructor sin parámetros, el compilador en C++ genera uno de oficio. V F.
Tanto composición como herencia son mecanismos de reutilización del software. V F.
Un atributo de clase debe declararse dentro de la clase con el modificador const. V F.
Un atributo de clase público puede ser accedido desde fuera de la clase a través de un objeto de la clase, un puntero o referencia al mismo o mediante el nombre de la clase seguido del operador de ámbito. V F.
Una clase derivada puede añadir nuevos métodos/atributos propios de la clase derivada, pero no modificar los métodos heredados de la clase base. V F.
Una interfaz es la definición de un protocolo para cierto comportamiento, sin especificar la implementación de dicho comportamiento V F.
La sobreescritura es una forma de polimorfismo. V F.
El principio de segregación de interfaz indica que el código cliente no debe ser forzado a depender de interfaces que no utiliza V F.
El usuario de un framework implementa el comportamiento declarado en los interfaces del framework mediante herencia de implementación. V F.
La instanciación mediante reflexión de un objeto de la clase Rectángulo del paquete pack se realiza así: Class.forName(“pack”, “Rectangulo”); V F.
En Java el enlace por defecto de métodos de instancia es estático. V F.
En Java no se pueden derivar clases genéricas de otras clases genéricas. V F.
En Java las sentencias de un bloque ‘finally’ solamente se ejecutan cuando se ha producido una excepción y no la hemos capturado en un bloque ‘catch’. V F.
En el paradigma orientado a objetos, un objeto siempre es instancia de alguna clase. V F.
El método invocado por un objeto en respuesta a un mensaje viene siempre determinado, entre otras cosas por la clase del objeto receptor en tiempo de compilación. V F.
El siguiente código en Java define una interfaz: interface S {} V F.
Sea un método llamado glue(), sin argumentos, implementado en una superclase y sobrescrito en una de sus subclases. Siempre podremos invocar a la implementación del método en la superclase desde la implementación del método en la subclase usando la instrucción super.glue(); V F.
Dado un objeto, mediante reflexión no se puede obtener la lista de todos los métodos declarados en su clase, tanto públicos como privados V F.
Cuando diseñamos sistemas orientados a objetos las interfaces de las clases que diseñamos deberían estar abiertas a la extensión y cerradas a la modificación. V F.
La refactorización nunca produce cambios en las interfaces de las clases. V F.
Las sentencias ‘switch’ son un caso de código sospechoso (código con mal olor). V F.
El código duplicado es un caso de código sospechoso en el que se aconseja el uso de técnicas de refactorización para eliminarlo. V F.
La existencia de una sólida colección de pruebas unitarias es una precondición fundamental para la refactorización. V F.
“Los métodos que usan referencias a clases base deben ser capaces de usar objetos de clases derivadas sin saberlo” es una posible formulación del principio de inversión de dependencias. V F.
El enlace de la invocación a un método sobrescrito se produce en tiempo de ejecución en función del tipo del receptor del mensaje. V F.
this es un ejemplo de variable polimórfica en Java. V F.
En Java el downcasting siempre se realiza en tiempo de ejecución. V F.
En Java, un atributo de clase debe declararse dentro de la clase con el modificador static V F.
En Java, gracias a la sobrecarga de operadores podemos crear nuevos operadores en el lenguaje. V F.
Si en una clase no se declara, implícita o explícitamente, un constructor por defecto, no se pueden crear instancias de esa clase V F.
Una de las características básicas de unos lenguajes orientados a objetos es que todos los objetos de la misma clase pueden recibir los mismos mensajes. V F.
La instrucción throw en Java sólo permite lanzar objetos que son instancias de la clase java.lang.Throwable o de clases derivadas de ésta. V F.
En Java, la instrucción throw no se puede usar dentro de un bloque catch. V F.
Los métodos genéricos no se pueden sobrecargar ni sobrescribir. V F.
Una clase abstracta siempre tiene como clase base una clase interfaz. V F.
De una clase abstracta no se pueden crear instancias, excepto si se declara explícitamente algún constructor. V F.
C++ sólo permite heredar cuando la clase hija es un subtipo de la clase padre (herencia como implementación de la generalización) V F.
El constructor de copia permite argumentos tanto por referencia como por valor. V F.
El estado de un objeto es el conjunto de valores de los atributos y métodos que han sido invocados sobre él. V F.
En las jerarquías de herencia en C++, si la clase base define un operador de asignación y la clase derivada no lo redefine, al invocar a dicho operador con objetos de la clase derivada se invocará al código de la clase base. V F.
La herencia es más flexible en cuanto a posibles cambios en la naturaleza de los objetos que la composición V F.
La herencia privada en C++ es un tipo de herencia insegura porque no preserva el principio de encapsulación. V F.
La relación de herencia es una relación de clases no persistente V F.
Un objeto se caracteriza por poseer un estado, un comportamiento y una identidad. V F.
Una clase abstracta siempre tiene que tener alguna clase que derive de ella. V F.
Tanto la herencia protegida como la privada permiten a una clase derivada acceder a las propiedades privadas de la clase base V F.
Una clase abstracta se caracteriza por no tener atributos. V F.
La siguiente clase: class S {public: virtual ~S()=0; virtual void f()=0;}; constituye una interfaz en C++. V F.
Desde un método de una clase derivada nunca puede invocarse un método implementado con idéntica signatura de una de sus clases base. V F.
Los métodos con enlace dinámico son abstractos. V F.
Los constructores de las clases abstractas son siempre métodos abstractos. V F.
Un método sobrecargado es aquel que tiene más de una implementación, diferenciando cada una por el ámbito en el que se declara, o por el número, orden y tipo de argumentos que admite. V F.
Un método abstracto es un método con polimorfismo puro. V F.
Todo espacio de nombres define su propio ámbito, distinto de cualquier otro ámbito. V F.
En la sobrecarga de operadores binarios para objetos de una determinada clase, si se sobrecarga como función miembro, el operando de la izquierda es siempre un objeto de la clase. V F.
La genericidad se considera una característica opcional de los lenguajes orientados a objetos. V F.
Hablamos de encapsulación cuando diferenciamos entre interfaz e implementación. V F.
Una operación de clase no es una función miembro de la clase. V F.
Los constructores siempre deben tener visibilidad pública. V F.
En C++, si no se captura una excepción lanzada por un método, se produce un error de compilación. V F.
En C++, la cláusula throw() tras la declaración de una función indica q ésta no lanza ninguna excepción. V F.
Dada una clase genérica, no puede ser utilizada como clase base en herencia múltiple. V F.
De una clase interfaz no se pueden crear instancias. De una clase abstracta sí. V F.
Cuando usamos la varianza estamos haciendo un uso inseguro de la herencia de implementación. V F.
En la sobrecarga de operadores como función miembro, el operando de la izquierda puede ser un objeto de la clase o cualquier otro tipo de objeto, mientras que en las funciones amigas siempre es un objeto de la clase. V F.
Cuando creamos un objeto en C++ mediante una variable automática el constructor se autoinvoca. También se autoinvoca el destructor del mismo al salir del ámbito de la función donde se creó. V F.
Si para una clase genérica llamada Pila<T> declaramos las siguientes funciones: virtual void apilar(T* pt); virtual void apilar(T t); En caso de sobrescritura ya que el tipo devuelto es el mismo en ambos métodos. V F.
De una clase abstracta se pueden crear referencias a objetos. V F.
En un atributo de clase se reserva espacio en memoria para una copia de él por cada objeto de su clase creado. V F.
Declarar un dato miembro de una clase como private indica que sólo puede acceder a ese atributo desde las funciones miembro de la clase. V F.
Una clase abstracta siempre tiene que tener alguna clase que derive de ella V F.
El polimorfismo debido a la sobrecarga de funciones siempre se da en relaciones de herencia. V F.
A los atributos de instancia si son constantes se les asigna su valor inicial fuera de la clase. V F.
Toda sentencia que aparece después del punto del programa en el que ocurre una excepción, en ningún caso se ejecuta. V F.
Si utilizamos los mecanismos de manejo de excepciones disminuye la eficiencia del programa incluso si no se llega a lanzar nunca una excepción. V F.
Cuando se captura una excepción y ésta pertenece a una jerarquía de clases, el primer bloque catch debe comenzar con la clase del nivel más alto de la jerarquía. V F.
Hablamos de shadowing cuando el método a invocar se decide en tiempo de compilación. V F.
diferencia de otros lenguajes de programación en C++ la sobreesctritura en relaciones de herencia se debe indiciar de forma explícita en la clase padre V F.
La encapsulación es un mecanismo que permite separar de forma estricta interfaz e implementación. V F.
La interpretación de un mismo mensaje puede variar en función del receptor del mismo y/o del tipo de información adicional que lo acompaña V F.
Es posibles definir un constructor de copia invocando en su cuerpo al operador de asignación. V F.
El recolector de basura es un mecanismo de liberación de recursos presente en todos los lenguajes OO. V F.
Para que se pueda realizar una herencia múltiple en C++, es necesario que no coincida ninguno de los nombre de atributo entre las clases bases involucradas. V F.
La signatura de tipo de un método incluye el tipo devuelto por el método. V F.
En el principio de sustitución implica una coerción entre tipos de una misma jerarquía de clases. V F.
En C++, un destructor no puede ser virtual V F.
El puntero this no es una variable polimórfica porque es constante y no se puede cambiar su valor. V F.
Las instrucciones para el manejo de excepciones nos permite mezclar el código que describe el funcionamiento normal de un programa con el código encargado del tratamiento de errores. V F.
Una interfaz no puede tener atributos de instancia. Una clase abstracta si puede tenerlos. V F.
El downcasting siempre es seguro. V F.
En el diseño mediante tarjetas CRC, utilizamos una tarjeta por cada jerarquía de herencia. V F.
Un espacio de nombres es un ámbito con nombre V F.
Un sistema de tipos de un lenguaje asocia a cada tipo una expresión. V F.
Hacer que el código sea más fácil de entender no es un motivo suficiente para refactorizarlo. V F.
En Java, una clase genérica puede ser parametrizada empleado más de un tipo. V F.
En Java, los tipos genéricos sólo se pueden aplicar a clases e interfaces. V F.
Sean dos clases Base e Hija. La clase Hija hereda de Base. En Java, cuando asignamos un objeto de la clase Hija a una referencia a Base haciendo conversión de tipo explícita estamos haciendo object slicing. V F.
Una de las principales fuentes de problemas cuando utilizamos herencia múltiple es que las clases bases hereden de un ancestro común. V F.
Los lenguajes de programación soportan el reemplazo y el refinamiento como métodos de sobrescritura, pero no hay ningún lenguaje que proporcione ambas técnicas (JAVA solo soporta reemplazo y C++ sólo soporta refinamiento). V F.
Una interfaz puede implementar otra interfaz. V F.
En java es obligatorio indicar que un método de una clase derivada sobrescribe un método de la clase base con la misma signatura. V F.
En la sobrecarga basada en ámbito los métodos pueden diferir únicamente en el tipo devuelto. V F.
En la herencia pública la clase derivada podrá acceder a los atributos privados de la clase base de la que hereda. V F.
Una clase abstracta se caracteriza por no tener ningún constructor V F.
El cambio de una condicional por el uso de polimorfismo es un ejemplo de refactorización. V F.
Un atributo siempre tiene visibilidad pública. V F.
El principio de segregación de interfaz indica que el código cliente no debe ser forzado a depender de interfaces que no utilice. V F.
El usuario de un framework implementa el comportamiento declarado en los interfaces del framework mediante herencia de implementación V F.
Denunciar test Consentimiento Condiciones de uso