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.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.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.