POO t6 y t7
|
|
Título del Test:
![]() POO t6 y t7 Descripción: test estudiar para examen de POO |



| Comentarios |
|---|
NO HAY REGISTROS |
|
En el enfoque tradicional (no OO), la modularidad está basada en: Objetos. Funciones. Jerarquías de clases. Tipos genéricos. ¿Cuál es una desventaja del enfoque tradicional?. No permite funciones complejas. Excesiva importancia de los atributos. Poco adecuado para sistemas medianos/grandes. No existen interfaces. En OO la pregunta clave es: ¿Qué hace el sistema?. ¿Cómo se optimizan los recursos?. ¿A qué se lo hace?. ¿Cuántas clases necesito?. La abstracción permite que el cliente use una clase: Solo si conoce su implementación. Sin conocer su representación interna. Accediendo directamente a los atributos. Con métodos privados. El encapsulamiento evita: La creación de objetos. La creación de objetos. Acceso indebido al estado interno. Uso de métodos públicos. Una clase diferida es aquella que: Está completamente implementada. No contiene herencia. Tiene algún componente no implementado. Es una interfaz en C++. ¿Cuál de los siguientes es polimorfismo de subtipo?. Uso de plantillas (templates). Sobrecarga de operadores. Virtuales + punteros a clase base. Uso de macros. En polimorfismo estático (ad hoc) ocurre que: Los tipos se conocen en tiempo de ejecución. La misma función vale para cualquier tipo. Se define una versión de la función por cada tipo. La vinculación es dinámica. En un sistema OO, el “programa principal”: Es obligatorio y central. No juega un papel tan principal. No existe. Debe coordinar todos los objetos manualmente. En lenguajes con recolector de basura: Se recolectan objetos alcanzables. Se recolectan solo los no usados recientemente. Todo objeto recolectado debe ser inalcanzable. Evita la creación de objetos en montículo. La herencia permite: Ocultar interfaces. Reutilizar y estructurar comportamientos. Eliminar polimorfismo. Los métodos exportados forman: La interfaz pública. La representación interna. El recolector de basura. El enfoque OO es más adecuado para: Sistemas muy pequeños. Sistemas medianos/grandes. Programación sin objetos. En abstracción, un método simple y uno complejo se usan igual desde fuera. V. F. Encapsular garantiza que el usuario nunca pueda acceder a métodos públicos. V. F. En polimorfismo paramétrico, el tipo se indica al instanciar. V. F. Una clase diferida en C++ es una clase con al menos una función virtual pura. V. F. La memoria dinámica y la estática funcionan igual internamente. V. F. Un patrón de diseño es: Una herramienta de compilación. Una solución reutilizable a un problema común. Una librería estándar. Un tipo de clase concreta. El Template Method se basa en: Intercambiar algoritmos completos. Subclases redefiniendo pasos (placeholders). Recorrer colecciones sin conocer su estructura. Notificar cambios entre objetos. Los Parameterized Types hoy: Ya no se usan. Son equivalentes a plantillas (templates). Solo aparecen en Java. No permiten genericidad. ¿Qué patrón separa los datos y las visualizaciones?. Factory. Builder. Observer. Iterator. El patrón Strategy permite: Recorrer estructuras internas. Cambiar algoritmos intercambiables. Notificar a observadores. Crear objetos complejos paso a paso. MVC utiliza conceptos de otros patrones como: Iterator y Builder. Observer, Composite, Strategy. Singleton y Factory. Template Method. Builder se usa cuando: El objeto es trivial de construir. Solo hay un atributo. Se necesitan muchos pasos para construir un objeto. Se desea notificar cambios. En Static Factory Method: La función devuelve siempre el mismo objeto. Se elige qué clase instanciar según un parámetro. Solo sirve para clases abstractas. Reemplaza a new. Singleton garantiza: Varias instancias a la vez. Una única instancia accesible globalmente. La creación automática de objetos complejos. La separación modelo-vista. El elemento clave del patrón Observer es: Polimorfismo estático. Relación sujeto-observador. Plantillas de clase. Strategy vs Template Method: Strategy cambia el algoritmo completo. Template Method intercambia algoritmos completos. Ambos son idénticos. MVC divide una aplicación en: Modelo, Control y Motor. Modelo, Vista y Controlador. Modelo, Clase Base y Vista. Iterator permite recorrer una colección sin mostrar la estructura interna. V. F. En Observer, los observadores deben ser de la misma clase. V. F. Builder evita usar constructores con demasiados parámetros. V. F. Factory permite añadir nuevas clases sin modificar la llamada desde main. V. F. Singleton suele tener constructor privado. V. F. |




