1.1 - Diseño Orientado a Objetos Flashcards
¿Cuáles son las diferencias principales entre el enfoque estructurado y el orientado a objetos?
Enfoque estructurado:
1. Procedural.
2. División Jerárquica.
3. Énfasis en la Función.
4. Modularidad.
Enfoque Orientado a Objetos:
1. Basado en Objetos.
2. Abstracción.
3. Herencia.
4. Polimorfismo.
5.Encapsulación.
¿Qué es una abstracción y para qué se utiliza?
La abstracción es la capacidad de modelar objetos centrándose en sus características principales, dejando de lado las secundarias.
¿Cuál es el objetivo del encapsulamiento?
Proporcionar un mecanismo que limite el acceso directo a los componentes internos de un objeto.
¿Qué es un objeto?
Un objeto es una instancia específica de una clase. Es una representación concreta de un concepto o entidad del mundo real que tiene atributos (datos) y métodos (funciones) asociados.
¿Qué es una clase?
Una clase es una plantilla o modelo, que define las propiedades (atributos) y comportamientos (métodos) que los objetos de esa clase compartirán.
¿Qué diferencias existen entre Clases y Objetos?
La diferencia principal es que un objeto es una instancia concreta basada en una clase, mientras que una clase es una plantilla abstracta que define la estructura y el comportamiento de los objetos.
Que es el estado de un objeto
Hace referencia al valor de los atributos del objeto en un momento dado.
¿Qué son y para qué sirven las tarjetas CRC?
(Class-Responsibility-Collaboration cards) Son una técnica de diseño en la programación orientada a objetos que permite describir y analizar las clases, sus responsabilidades y cómo colaboran entre sí en un sistema de software.
Las entidades deben tener un atributo identificador para diferenciar una ocurrencia de instancia de otra. ¿Pasa lo mismo con los objetos?
Si, cada objeto se crea en una ubicación de memoria única, y esa dirección de memoria se puede considerar su identificador.
El modelo entidad interrelación modela entidades, ¿qué diferencia existe entre una entidad y una clase?
Las entidades son parte del modelo entidad-relación en el diseño de bases de datos y representan conceptos del mundo real junto con sus propiedades y relaciones.
Las clases son parte del paradigma de la programación orientada a objetos y actúan como plantillas para la creación de objetos. Definen atributos y comportamientos que serán compartidos por múltiples instancias de objetos.
¿Qué son los atributos de un objeto? ¿Es el mismo concepto de atributo de las entidades en el modelo de datos?
POO: los atributos son variables que pertenecen a un objeto y representan sus características definiendo su estado.
Modelo de datos: los atributos definen las propiedades de una entidad, describiendo sus características e información.
¿Qué es una operación?
Representa una tarea específica que el objeto puede llevar a cabo.
¿Qué diferencias existen con método y el mensaje?
Método: es la implementación concreta de una operación en una clase.
Mensaje: es la solicitud que un objeto envía a otro objeto para que realice una operación específica.
¿Cuál es el beneficio de la generalización?
Proporciona un mecanismo eficiente para compartir y heredar características comunes entre clases, promoviendo la reutilización del código y facilitando el mantenimiento del sistema.
Explique el concepto de herencia
Es un principio fundamental POO que permite que una clase (llamada clase derivada o subclase) herede las propiedades y comportamientos de otra clase (llamada clase base o superclase).