poo Flashcards
¿Qué es la Programación Orientada a Objetos (POO)?”
Es un paradigma de programación que organiza el código en objetos, se centra en la creación de código reutilizable y modela entidades del mundo real mediante abstracción.
¿Qué caracteriza a un programa orientado a objetos?
- Un programa es un conjunto de objetos enviándose mensajes y reaccionando antes los mismo
- Es responsabilidad de cada objeto saber cómo responder a esos mensajes
- Cada objeto podría responder a los mensajes de manera distinta
¿Qué dos condiciones son fundamentales para el enfoque del paradigma?
- Encapsulamiento: cada componente debe tener el comportamiento esperado, sin que nuestro desarrollo dependa de la manera en que está implementado.
- Contrato: debemos conocer qué nos ofrece cada componente y cómo conectarnos con él.
¿Cuáles son los pilares de POO?
- Abstracción
- Encapsulamiento
- Polimorfismo
- Delegación
- Herencia
¿Qué es un atributo en POO?
En POO llamamos atributo o variable de instancia a una variable interna del objeto que sirve para almacenar parte del estado del mismo.
¿Qué tipos des atributos puede haber?
- Atributo Público
- Atributo Privado
¿Qué es un atributo Público?
Atributo Público: Se puede acceder a él y modificarlo directamente desde fuera de la clase, lo que puede provocar un comportamiento inesperado y dificultar el mantenimiento de la clase.
¿Qué es un atributo Privado?
Atributo Privado: Solo se puede acceder y modificar el estado interno de la clase a través de métodos. Se permite así controlar cómo se puede acceder y modificar el atributo, y agregar lógica o validación adicional antes de permitir que ocurra el cambio.
¿Qué es una propiedad?
Una Propiedad es algo propio del objeto que puede no estar en el atributo
¿Cómo será la solución a un problema en POO?
- Debemos encontrar entidades del dominio del problema (objetos)
- Debemos hallar cómo interactúan esas entidades para resolver el problema (mensajes)
- Debemos determinar cómo hacen esos objetos para responder a los mensajes (comportamiento)
¿Qué es un objeto en POO?
Es una entidad con identidad, estado y responsabilidades, capaz de enviar y recibir mensajes.
¿Qué es la identidad en un objeto?
Identidad: es lo que distingue a un objeto de otro
¿Qué es el estado en un objeto?
Estado: es la situación en que un objeto se encuentra. Se puede cambiar a través del tiempo. Por lo general es privado . Sirve como soporte interno para brindar determinado comportamiento. Si fuese necesario accederemos a él mediante mensajes (comportamiento)
¿Qué es la responsabilidad en un objeto?
Responsabilidades: la suma del comportamiento más el manejo de su estado interno.
¿Qué es un mensaje en POO?
Es la interacción entre un objeto que pide un servicio y otro que lo brinda.
¿Qué tipos de mensajes existen?
Unarios, binarios y keyword.
¿Qué tipos de mensajes existen en el contexto de envío de mensajes?
Cliente: el objeto que envía el mensaje
Receptor: el objeto que recibe el mensaje
¿Qué es el comportamiento?
Las posibles respuestas a los mensajes recibidos por un objeto.
¿Qué puede provocar el comportamiento?
- Un cambio de estado en el objeto receptor del mensaje
- La devolución del estado de un objeto, en su totalidad o parcialmente
- El envío de un mensaje desde el objeto receptor a otro objeto (delegación)
¿Qué es la delegación?
Es cuando un objeto, para responder un mensaje, envía mensajes a otros objetos, “delega ese comportamiento en otros objetos”.
¿Qué es un método?”
Es la implementación de la respuesta de un objeto a un mensaje.
¿Qué es un contrato en POO?
Es un acuerdo entre un cliente y un servidor que establece cómo deben interactuar mediante precondiciones, postcondiciones e invariantes.
¿Qué es TDD (Test-Driven Development)?
Es una metodología donde primero se escriben los tests antes de implementar el código que los hace pasar.