Resumen de Programación Orientada a Objetos (POO) en C++
1. Conceptos de POO:
- Encapsulación: Control selectivo del acceso a datos y métodos dentro de un objeto.
- Herencia: Reutilización y extensión del código, permitiendo derivar nuevas clases a partir de
existentes.
- Polimorfismo: Uso genérico de objetos de diferentes clases derivadas de una misma base.
- Constructores y destructores: Métodos especiales para inicializar y liberar memoria de objetos.
2. Elementos de POO en C++:
- Clases y objetos: Uso de 'class' para definir estructuras con datos y métodos asociados.
- Miembros públicos, protegidos y privados: Control del acceso a los componentes de una clase.
- Métodos inline: Métodos definidos dentro de una clase, que pueden mejorar el rendimiento a
costa de mayor tamaño del código.
3. Sobrecarga:
- Redefinición de métodos o operadores para adaptarlos a diferentes parámetros o
comportamientos.
4. Asignación dinámica de memoria:
- Uso de 'new' y 'delete' para manejar memoria durante la ejecución del programa.
5. Herencia y polimorfismo:
- Herencia múltiple: Permite que una clase derive de varias clases base.
- Funciones virtuales: Hacen posible el polimorfismo y el enlace en tiempo de ejecución.
- Clases abstractas: Sirven como base conceptual para otras clases, sin instanciarse
directamente.
6. Amistad:
- Uso de funciones y clases amigas ('friend') para acceder a los miembros privados o protegidos.
7. Plantillas (Templates):
- Creación de clases y funciones genéricas que funcionan con diferentes tipos de datos.
8. Streams:
- Manejo de entrada/salida de datos utilizando flujos estándar como 'cin', 'cout', y métodos
avanzados como 'getline()' o 'read()'.
9. Otros conceptos:
- Miembros estáticos: Compartidos por todos los objetos de una clase.
- El objeto 'this': Referencia al objeto actual dentro de un método.
- Modificador 'const': Impide modificaciones en ciertos miembros o métodos.
10. Creación de bibliotecas:
- Uso de archivos de cabecera ('.h') y objetos ('.obj') para estructurar y reutilizar el código en
proyectos.