Introducción
La Programación Orientada a Objetos es un paradigma de programación que parte del concepto de “objetos” como base, los cuales contienen información en forma de campos y código en forma de métodos.
Muchos de los objetos prediseñados de los lenguajes de programación actuales permiten la agrupación en bibliotecas o librerías, sin embargo, muchos de estos lenguajes permiten al usuario la creación de sus propias bibliotecas.
Algunas características clave de la programación orientada a objetos son herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.
En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos, estando la mayoría de éstos basados en el concepto de clases e instancias
Los objetos son entidades que tienen un determinado estado, comportamiento e identidad:
La identidad es una propiedad de un objeto que lo diferencia del resto.
Los métodos y campos están estrechamente relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de métodos para poder tratar los campos con los que cuenta.
La programación orientada a objetos difiere de la programación estructurada tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada prima el concepto de procedimientos o funciones sobre el de estructuras. En la programación orientada a objetos primero se definen los objetos o estructuras para posteriormente solicitar la ejecución de sus métodos.
Descripción del curso
Los objetivos del curso PRINCIPIOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS son:
- Estudiar los conceptos de clase y objeto.
- Estudiar los conceptos de herencia simple y múltiple.
- Analizar las relaciones entre clases.
- Conocer el concepto y tipos de polimorfismo.
- Analizar las estructuras de control, secuencial, condicional y de repetición.
- Estudiar la estructura de la información.
- Conocer y seleccionar los lenguajes de programación orientados a objetos.
Tras la finalización, obtendrás un CAA acreditativo para incluir en tu CV

Puntos clave
UNIDADES DIDÁCTICAS
UD1. Introducción al paradigma orientado a objetos.
1.1. Ciclo de desarrollo del software bajo el paradigma de orientación a objetos: Análisis, diseño y programación orientada a objetos.
1.2. Análisis del proceso de construcción de software: Modularidad.
1.3. Distinción del concepto de módulo en el paradigma orientado a objetos.
1.4. Identificación de objetos como abstracciones de las entidades del mundo real que se quiere modelar.
UD2. Clases y objetos.
2.1. Distinguir el concepto de clase y sus atributos, métodos y mecanismo de encapsulación.
2.2. Análisis de los objetos: Estado, comportamiento e identidad.
2.3. Uso de objetos como instancias de clase. Instancia actual (This, Self, Current).
2.4. Identificación del concepto de programa en el paradigma orientado a objetos. POO = Objetos + Mensajes.
UD3. Generalización/Especialización: herencia.
3.1. Descripción del concepto de herencia: Simple y múltiple.
3.2. Distinción de la herencia múltiple.
3.3. Creación de objetos en la herencia.
3.4. Clasificación jerárquica de las clases.
UD4. Relaciones entre clases.
4.1. Distinción entre Agregación/Composición.
4.2. Distinción entre Generalización / Especialización.
4.3. Identificación de asociaciones.
UD5. Análisis del polimorfismo
5.1. Concepto.
5.2. Tipos.
5.3. Polimorfismo en tiempo de compilación (Sobrecarga).
5.4. Polimorfismo en tiempo de ejecución (Ligadura Dinámica).
5.6. Objetos polimórficos.
5.7. Comprobación estática y dinámica de tipos.
UD6. Técnicas de programación estructurada.
6.1. Identificación de elementos básicos: constantes, variables, operadores y expresiones.
6.2. Análisis de estructuras de control: Secuencial, condicional y de repetición.
6.3. Distinción entre funciones y procedimientos.
6.4. Demostración de llamadas a funciones y procedimientos.
6.5. Empleo de llamadas a funciones y procedimientos incluidos en las clases.
UD7. Estructura de la información.
7.1. Enumeración de datos simples: Numéricos (enteros y reales), lógicos, carácter, cadena de caracteres, puntero o referencia a memoria.
7.2. Datos estructurados: Arrays.
7.3. Mecanismos de gestión de memoria.
UD8. Lenguajes de programación orientados a objetos.
8.1. Análisis del lenguaje de programación orientado a objetos y paradigma orientado a objetos.
8.2. Comparación entre los lenguajes de programación orientados a objetos más habituales. Características esenciales.
8.3. Librerías de clases.
UD9. Implementación del paradigma utilizando un lenguaje de programación orientado a objetos
9.1. Elección del lenguaje.
9.2. Enumeración de los tipos de aplicaciones.
9.3. Herramientas de desarrollo.
9.4. Tipos de datos y elementos básicos característicos del lenguaje. Instrucciones.
9.5. Estudio y utilización de las clases básicas incluidas en la librería de clases.
9.6. Definición de clases.
9.7. Construcción de métodos. Sobrecarga.
9.8. Construcción de atributos.
9.9. Construcción de la interfaz de la clase.
9.10. Construcción de clases incluyendo relaciones de Agregación /Composición y Asociación.
9.11. Construcción de clases con herencia.
9.12. Construcción de clases con herencia múltiple.
9.13. Definición de clases abstractas.
9.14. Construcción de clases con herencia incluyendo poliformismo.
9.15. Empleo de excepciones.
9.16. Gestión de eventos.
9.17. Empleo de hilos.
9.18. Definición y análisis de programación en red.
9.19. Acceso a bases de datos desde las aplicaciones. Librerías de clases asociadas.
El curso incluye:
- Agenda
- Guía del alumno
- Temario
- Vídeos explicativos del profesor
- Contenido interactivo
- Foro
- Ejercicios, supuestos
- Pruebas de evaluación






