Programacion Orientada a Objetos (POO)
|
|
Título del Test:
![]() Programacion Orientada a Objetos (POO) Descripción: Fundamentos POO, MVC y diseño jerárquico TAI. |



| Comentarios |
|---|
NO HAY REGISTROS |
|
¿Qué principio de la POO permite ocultar el estado interno de un objeto y forzar el acceso mediante métodos?. Abstracción. Herencia. Polimorfismo. Encapsulamiento. ¿Cuál es el principal objetivo de la abstracción?. Reutilizar código mediante clases base. Permitir múltiples implementaciones de un método. Modelar solo las características relevantes ignorando detalles innecesarios. Ocultar atributos privados. En herencia, ¿qué se consigue cuando una subclase redefine un método de la superclase?. Sobrecarga. Encapsulación. Sobrescritura (override). Abstracción. ¿Qué propiedad de la POO permite tratar objetos de distintas clases de forma uniforme si comparten una interfaz común?. Encapsulación. Herencia simple. Modularización. Polimorfismo. Según el principio de sustitución de Liskov, una subclase debe: Añadir siempre nuevos métodos. Reducir la funcionalidad heredada. Poder sustituir a su clase base sin alterar el comportamiento esperado. Implementar todos los métodos como abstractos. ¿Qué ventaja principal aporta la modularización?. Separación de responsabilidades y mantenibilidad. Más herencia. Mayor número de clases. Más encapsulamiento. En el patrón MVC, el Modelo se encarga de: Gestionar la interfaz gráfica. Coordinar peticiones HTTP. Representar la lógica de negocio y el estado de los datos. Controlar la navegación entre pantallas. En MVC, ¿qué componente recibe la entrada del usuario y decide qué hacer?. Vista. Modelo. Controlador. Servicio. ¿Qué problema puede generar una jerarquía de herencia demasiado profunda?. Mejor reutilización. Mayor cohesión. Alta complejidad y fuerte acoplamiento. Mayor polimorfismo. ¿Cuál es una alternativa preferible a la herencia en muchos diseños modernos?. Más jerarquía. Encapsulación estricta. Composición sobre herencia. Sobrecarga masiva. Una clase abstracta se caracteriza por: No tener métodos. No poder tener atributos. No poder instanciarse directamente. Ser final. ¿Qué diferencia principal existe entre una interfaz y una clase abstracta (conceptualmente)?. La interfaz no define comportamiento. La clase abstracta no puede tener métodos. La interfaz define un contrato; la clase abstracta puede compartir implementación parcial. No hay diferencia. La cohesión alta en un módulo implica: Muchas dependencias externas. Que sus responsabilidades están fuertemente relacionadas entre sí. Baja reutilización. Herencia múltiple. El acoplamiento bajo implica: Muchas dependencias. Dependencia circular. Mínimas dependencias entre módulos. Uso obligatorio de herencia. ¿Qué sucede si una subclase amplía las precondiciones de un método heredado?. Mejora el diseño. Viola el principio de sustitución. Mejora la seguridad. Refuerza encapsulamiento. El polimorfismo en tiempo de compilación se produce mediante: Herencia. Override. Sobrecarga (overload). Interfaces. ¿Qué mecanismo permite impedir que una clase sea heredada?. Abstract. Private. Final (o equivalente según lenguaje). Static. ¿Qué principio de diseño favorece que cada clase tenga una única razón para cambiar?. Liskov. Open/Closed. Single Responsibility Principle (SRP). DRY. El principio Open/Closed establece que las clases deben: Poder modificarse libremente. Ser siempre abstractas. Estar abiertas a extensión pero cerradas a modificacióne. Tener herencia múltiple. ¿Cuál es el principal beneficio del uso de interfaces en jerarquías complejas?. Reducen el número de clases. Aumentan la herencia múltiple. Desacoplan implementación de contrato. Sustituyen MVC. |





