poo Flashcards

1
Q

¿Qué es la Programación Orientada a Objetos (POO)?”

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué caracteriza a un programa orientado a objetos?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué dos condiciones son fundamentales para el enfoque del paradigma?

A
  1. Encapsulamiento: cada componente debe tener el comportamiento esperado, sin que nuestro desarrollo dependa de la manera en que está implementado.
  2. Contrato: debemos conocer qué nos ofrece cada componente y cómo conectarnos con él.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Cuáles son los pilares de POO?

A
  1. Abstracción
  2. Encapsulamiento
  3. Polimorfismo
  4. Delegación
  5. Herencia
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué es un atributo en POO?

A

En POO llamamos atributo o variable de instancia a una variable interna del objeto que sirve para almacenar parte del estado del mismo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué tipos des atributos puede haber?

A
  • Atributo Público
  • Atributo Privado
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué es un atributo Público?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué es un atributo Privado?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué es una propiedad?

A

Una Propiedad es algo propio del objeto que puede no estar en el atributo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Cómo será la solución a un problema en POO?

A
  1. Debemos encontrar entidades del dominio del problema (objetos)
  2. Debemos hallar cómo interactúan esas entidades para resolver el problema (mensajes)
  3. Debemos determinar cómo hacen esos objetos para responder a los mensajes (comportamiento)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué es un objeto en POO?

A

Es una entidad con identidad, estado y responsabilidades, capaz de enviar y recibir mensajes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué es la identidad en un objeto?

A

Identidad: es lo que distingue a un objeto de otro

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Qué es el estado en un objeto?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué es la responsabilidad en un objeto?

A

Responsabilidades: la suma del comportamiento más el manejo de su estado interno.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué es un mensaje en POO?

A

Es la interacción entre un objeto que pide un servicio y otro que lo brinda.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué tipos de mensajes existen?

A

Unarios, binarios y keyword.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué tipos de mensajes existen en el contexto de envío de mensajes?

A

Cliente: el objeto que envía el mensaje
Receptor: el objeto que recibe el mensaje

18
Q

¿Qué es el comportamiento?

A

Las posibles respuestas a los mensajes recibidos por un objeto.

19
Q

¿Qué puede provocar el comportamiento?

A
  1. Un cambio de estado en el objeto receptor del mensaje
  2. La devolución del estado de un objeto, en su totalidad o parcialmente
  3. El envío de un mensaje desde el objeto receptor a otro objeto (delegación)
20
Q

¿Qué es la delegación?

A

Es cuando un objeto, para responder un mensaje, envía mensajes a otros objetos, “delega ese comportamiento en otros objetos”.

21
Q

¿Qué es un método?”

A

Es la implementación de la respuesta de un objeto a un mensaje.

22
Q

¿Qué es un contrato en POO?

A

Es un acuerdo entre un cliente y un servidor que establece cómo deben interactuar mediante precondiciones, postcondiciones e invariantes.

24
Q

¿Qué es TDD (Test-Driven Development)?

A

Es una metodología donde primero se escriben los tests antes de implementar el código que los hace pasar.

25
¿Qué es refactorización?
Es el proceso de modificar el código sin cambiar su funcionalidad, para mejorar su estructura, legibilidad o mantenimiento.
26
¿Qué es SUnit en Smalltalk?
Es el framework de pruebas unitarias que permite escribir y ejecutar tests de forma estructurada.
27
¿Qué es una excepción?"
Es un objeto que se usa para comunicar una situación excepcional desde el entorno que la detecta al ámbito invocante.
28
¿Qué significa que una excepción es un objeto?
Significa que tiene comportamiento, identidad y estado; en lenguajes con clases, son instancias de clases especiales.
29
¿Quién lanza una excepción?
El entorno que detecta un problema que no puede resolver.
30
¿A dónde se dirige una excepción lanzada?
Al ámbito que invocó al método que lanzó la excepción. Este ámbito podrá recibir ese objeto y ver de qué manera tratar el problema.
31
¿Cuál es el uso principal de una excepción?
Comunicar un problema entre el ámbito que lo detecta y el que debe tratarlo.
32
¿Cómo se lanza una excepción en Smalltalk?
ValorInvalido new signal.
33
¿Cómo se captura una excepción en Smalltalk?
[bloqueDeCodigo] on: TipoDeExcepcion do: [:e | manejador].
34
¿Para qué sirve heredar excepciones?
Para capturar también excepciones de subclases y manejar jerarquías de errores.
35
¿Qué error se puede cometer con excepciones derivadas?
Capturar primero una clase base y después una derivada, haciendo que esta última nunca se capture.
36
¿Qué ventaja tiene tratar excepciones en lenguajes de tipado estático?
El compilador obliga a capturar excepciones, lo que evita olvidos y errores en tiempo de ejecución.
37
¿Qué ventaja tiene que las excepciones sean objetos?
Se pueden agregar atributos para transmitir más información sobre el error.
38
¿Qué clase se debe elegir como ancestro para una excepción personalizada?
La más cercana en significado al problema que se quiere representar.
39
¿Qué es el manejador?
El manejador es una porción del código que va a decidir qué hacer con la excepción que recibe.
40
¿Qué es un método de clase?
Un método de clase es un método cuyo fin es implementar la respuesta de un mensaje enviado a la clase.
41
¿Qué es un atributo de clase?
Un atributo de clase es un atributo cuyo fin es almacenar estado de la clase.
42
¿Qué es una metaclase?
Una metaclase es una clase cuyas instancias son también clases. Las metaclases mantienen una jerarquía de herencia paralela a la jerarquía de clases del sistema.