El estilo de programación orientada a objetos sigue vigente aun después de más de cincuenta años de su origen. El paradigma, propuesto en 1967, ha influido a los diseñadores de lenguajes de programción desde entonces y actualmente se incluye en lenguajes populares, como Java, C#, Kotlin, Javascript o Python.
Este curso básico de programación orientada a objetos lo abordaremos con una perspectiva moderna, incluyendo algunos elementos de programación funcional y dinámica los cuales también han sido adoptados por lenguajes recientes.
Los lenguajes que utilizaremos en el curso serán C# y Javascript.
-
- .net core
- Visual Studio Code
- git
- GitHub
-
Introducción al paradigma de la programación orientado a objetos
- Elementos del modelo de objetos: clases, objetos, abstracción, modularidad, encapsulamiento, herencia y polimorfismo.
- Lenguaje de modelado unificado: diagrama de clases.
-
Clases y objetos
- Declaración de clases: atributos, métodos, encapsulamiento.
- Instanciación de una clase.
- Referencia al objeto actual.
- Métodos: declaración, mensajes, paso de parámetros, retorno de valores.
- Constructores y destructores: declaración, uso y aplicaciones.
- Sobrecarga de métodos.
- Sobrecarga de operadores: Concepto y utilidad, operadores unarios y binarios.
-
Herencia
- Definición: clase base, clase derivada.
- Clasificación. herencia simple, herencia múltiple.
- Reutilización de miembros heredados.
- Referencia al objeto de la clase base.
- Constructores y destructores en clases derivadas.
- Redefinición de métodos en clases derivadas.
-
Polimorfismo
- Definición.
- Clases abstractas: definición, métodos abstractos, implementación de clases abstractas, modelado de clases abstractas.
- Interfaces: definición, implementación de interfaces, herencia de interfaces.
- Variables polimórficas (plantillas): definición, uso y aplicaciones.
- Reutilización de código.
-
Excepciones
- Definición.
- Tipos de excepciones.
- Propagación de excepciones.
- Gestión de excepciones: manejo de excepciones, lanzamiento de excepciones.
- Creación y manejo de excepciones definidas por el usuario.
-
Flujos y Archivos.
- Definición.
- Clasificación: Archivos de texto y binarios.
- Operaciones básicas y tipos de acceso.
- Manejo de objetos persistentes.