Curso de Programación Orientada a Objetos con C++ moderno

¿Qué es la Programación Orientada a Objetos?
La Programación Orientada a Objetos (POO) es el paradigma dominante en el desarrollo de software moderno. Organizar el código en torno a clases y objetos permite modelar problemas del mundo real de forma natural, reutilizar código de manera eficiente y construir sistemas que escalan y evolucionan con facilidad.
C++ moderno es uno de los mejores lenguajes para aprender POO en profundidad: ofrece control total sobre la memoria, soporte nativo para los pilares del paradigma y herramientas avanzadas como punteros inteligentes, plantillas de clase y la STL.
¿Qué aprenderás en este curso?
Este curso aborda la POO con C++ desde los fundamentos hasta técnicas avanzadas de diseño:
- Los cuatro pilares: encapsulamiento, herencia, polimorfismo y abstracción
- Gestión de memoria dinámica con punteros inteligentes y el patrón RAII
- Relaciones entre clases: dependencia, asociación, agregación y composición
- Diseño polimórfico con clases abstractas e interfaces puras
- Abstracción del comportamiento con lambdas, functores y
std::function - Plantillas de clase y programación genérica aplicada a la STL
- Proyecto final: sistema de dispositivos inteligentes
Repositorio
Curso
-
Introducción a la Programación Orientada a Objetos
-
Fundamentos básicos de programación orientada a objetos
- Clases y objetos
- Miembros de instancia: atributos y métodos
- Encapsulamiento y modificadores de acceso (
public,private,protected) - Constructores y destructores
- Inicialización de objetos
- Métodos y objetos constantes
- Inicialización de atributos con listas de inicialización
- Métodos getter y setter
- Polimorfismo estático: sobrecarga de métodos
- Atributos y métodos estáticos
- Ejercicios sobre clases y objetos
-
Gestión de memoria dinámica
-
Relaciones entre clases
- Introducción a las relaciones entre clases
- Dependencia entre clases
- Asociaciones entre clases
- Agregación entre clases
- Composición entre clases
- Ejercicios sobre relaciones de clases
- Herencia: clases base y derivadas
- Herencia y polimorfismo dinámico
- Conversión segura de tipos polimórficos con
dynamic_cast - Conversiones implícitas y punteros base
- Ejercicios sobre herencia y polimorfismo
-
Fundamentos avanzados de programación orientada a objetos
-
Interfaces y diseño polimórfico
-
Abstracción del comportamiento
- Comportamiento intercambiable y bajo acoplamiento
- Delegación de comportamiento mediante interfaces
- Representación de acciones con funciones lambdas
- Uso de
std::functionpara encapsular comportamiento configurable - Functores y clases con
operator() - Inyección de comportamiento mediante composición
- Ejercicios sobre abstracción de comportamiento
-
Plantillas de clases y programación genérica
-
Proyecto final: Sistema de dispositivos inteligentes