Guía de Estudio - II Examen Parcial de Programación II

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/25

flashcard set

Earn XP

Description and Tags

Fichas de vocabulario y conceptos fundamentales para el II Examen Parcial del curso Programación II (Universidad de Costa Rica / EIF), cubriendo temas de herencia, listas enlazadas, Ley de Deméter, matrices dinámicas, polimorfismo y colecciones polimórficas.

26 Terms

1
New cards

II Examen Parcial de Programación II (Datos Clave)

Evaluación acumulativa (punteros, arreglos y POO básica) programada para el domingo 8 de noviembre de 2026 a la 1:00 p. m. (duración: 3 horas) en la Escuela de Informática, con estructura de selección única y desarrollo, prohibición de dispositivos inteligentes y firma obligatoria de asistencia.

2
New cards

Herencia

Mecanismo fundamental de la Programación Orientada a Objetos (POO) que permite crear nuevas clases a partir de clases existentes, facilitando la reutilización de código y la creación de jerarquías.

3
New cards

Generalización

Proceso de abstraer características comunes de varias clases para crear una clase base o superclase (por ejemplo, crear la clase Vehiculo).

4
New cards

Especialización

Creación de subclases o clases derivadas que extienden o modifican el comportamiento de la clase base (por ejemplo, Carro o Moto derivan de Vehiculo).

5
New cards

Orden de Ejecución de Constructores

Secuencia de ejecución descendente en la jerarquía de herencia, ejecutándose desde la clase base hacia la clase derivada.

6
New cards

Orden de Ejecución de Destructores

Secuencia de ejecución inversa en la jerarquía de herencia, ejecutándose desde la clase derivada hacia la clase base. Requiere que el destructor de la clase base sea definido como virtual.

7
New cards

Sobrescritura de Métodos

Redefinición de un método proveniente de la clase base dentro de la clase derivada manteniendo la misma firma.

8
New cards

Listas Simplemente Enlazadas

Estructura de datos dinámica conformada por nodos vinculados entre sí mediante punteros en una dirección unívoca.

9
New cards

Estructura de Nodo

Componente de una lista enlazada que contiene un dato y un puntero 'siguiente' que hace referencia al próximo nodo de la lista.

10
New cards

Inserción (Listas Simplemente Enlazadas)

Operación que realiza el ajuste de enlaces de punteros para añadir nodos al inicio, final o posición intermedia sin necesidad de reubicar los demás elementos.

11
New cards

Eliminación (Listas Simplemente Enlazadas)

Operación consistente en localizar el nodo objetivo, desconectar los punteros y liberar explícitamente la memoria dinámica mediante el operador delete.

12
New cards

Recorrido (Listas Simplemente Enlazadas)

Iteración secuencial a través de los nodos desde la cabeza (cabeza/head) hasta topar con un puntero nullptr.

13
New cards

Ley de Deméter (Principio de Menor Conocimiento)

Guía de diseño orientada a conservar un bajo acoplamiento entre objetos, la cual dicta que un método de un objeto solo debe invocar a sus 'amigos cercanos' y no a clases 'desconocidas'.

14
New cards

Regla Práctica de la Ley de Deméter

Directriz que prohíbe el encadenamiento directo de llamadas a métodos de obtención o getters (por ejemplo: cliente.getTarjeta().getBanco().procesarPago()).

15
New cards

Permisiones de Invocación (Ley de Deméter)

Regla que limita a un método M de una clase A a invocar únicamente métodos de: 1. La propia clase A; 2. Objetos recibidos como parámetros en M; 3. Objetos creados dentro del cuerpo de M; 4. Atributos u objetos miembros de A.

16
New cards

Matrices

Estructuras de datos bidimensionales organizadas formalmente en filas y columnas.

17
New cards

Memoria Automática o Estática (Matrices)

Declaración de matrices alojadas en el Stack cuyas dimensiones quedan fijadas de forma invariable en tiempo de compilación (ej. int mat[3][3];).

18
New cards

Memoria Dinámica (Matrices)

Asignación de matrices en el Heap mediante un arreglo de punteros (int**), la cual demanda la reserva y posterior liberación manual de cada una de las filas con delete[].

19
New cards

Matrices de Objetos

Administración de arreglos bidimensionales formados por punteros hacia instancias o entidades de clases complejas.

20
New cards

Polimorfismo

Capacidad del paradigma orientado a objetos para interactuar con instancias de distintas clases derivadas a través de una interfaz común provista por la clase padre.

21
New cards

Métodos Virtuales

Funciones miembro declaradas con la palabra clave 'virtual' que habilitan la resolución tardía o enlace dinámico en tiempo de ejecución.

22
New cards

Métodos Virtuales Puros

Métodos que se definen explícitamente igualándolos a cero (= 0), obligando a las clases derivadas a proveer su propia implementación.

23
New cards

Clases Abstractas

Clases que poseen como mínimo un método virtual puro dentro de su interfaz, imposibilitando su instanciación directa.

24
New cards

dynamic_cast

Operador de C++ para efectuar downcasting seguro en jerarquías polimórficas, retornando nullptr si la conversión de tipos resulta incompatible.

25
New cards

Colecciones Polimórficas

Estructuras que almacenan punteros dirigidos hacia una clase base con el propósito de manipular grupos heterogéneos de objetos derivados de manera uniforme.

26
New cards

Liberación de Memoria en Colecciones Polimórficas

Práctica crítica que demanda un destructor virtual en la clase base para garantizar la ejecución correcta de las secuencias de destrucción en los objetos derivados al invocar delete.