Formación : Programación de objetos en C

Programación de objetos en C




Este curso intensivo persigue dos objetivos: introducir a los participantes en los métodos y reflejos de la programación orientada a objetos y proporcionarles un dominio operativo completo del lenguaje C++. Es el fruto de muchos años de experiencia en el desarrollo en C++ y se articula en torno a un método pedagógico riguroso basado en un gran número de ejercicios prácticos progresivos. Durante estos 5 días, el formador presentará las evoluciones de las normas desde C++98 hasta C++20.


ABIERTA
IN-COMPANY
A MEDIDA

Formación en tus instalaciones, en nuestro centro o a distancia

Ref. C++
  5d - 35h00
Duración, formato, fechas y lugar: ¡Tú decides, nosotros nos encargamos de organizarlo!

Descargar en formato pdf

Compartir este curso por correo electrónico




Este curso intensivo persigue dos objetivos: introducir a los participantes en los métodos y reflejos de la programación orientada a objetos y proporcionarles un dominio operativo completo del lenguaje C++. Es el fruto de muchos años de experiencia en el desarrollo en C++ y se articula en torno a un método pedagógico riguroso basado en un gran número de ejercicios prácticos progresivos. Durante estos 5 días, el formador presentará las evoluciones de las normas desde C++98 hasta C++20.


Objetivos pedagógicos
Una vez finalizada la formación, el participante podrá:
Dominar la sintaxis del lenguaje C
Aplicar los conceptos del diseño orientado a objetos
Utilizar las herramientas de desarrollo asociadas al lenguaje C++
Dominar las principales novedades de la norma C++ 11

Público afectado
Desarrolladores, ingenieros y gestores de proyectos implicados en el desarrollo.

Requisitos previos
Buen conocimiento de un lenguaje de programación como C, Java, Python, C#, VB.NET o PHP.

Modalidades prácticas
Trabajo práctico
Estaciones de trabajo equipadas con Visual C++ (Windows) y gcc (Unix). Los ejercicios prácticos se han diseñado para ilustrar todos los elementos del lenguaje y aplicar sistemáticamente los conceptos del diseño orientado a objetos.
Métodos pedagógicos
Todos los ejercicios incluyen una fase de análisis/diseño seguida de una fase de programación.

Programa de la formación

1
Sintaxis C++ (diferencias entre C y C++)

  • Datos: definición, inicialización, tipos de datos.
  • Expresiones: noción de referencia, mecanismos de reparto.
  • Operadores (: :, nuevo, suprimir).
  • Funciones (paso de parámetros y valores de retorno por referencia, valores por defecto, inlining, sobrecarga).
  • Uso de código C en un programa C++.
  • Referencias (argumentos y valores de retorno).
  • Tipos constantes.
  • Espacios de nombres.
  • Escritura "automática" con la palabra clave auto (C++ 11).
Trabajo práctico
Familiarizarse con el entorno de desarrollo y programar un programa sencillo.

2
Enfoque orientado a objetos

  • Los principios generales de las técnicas Objet.
  • C++ y programación orientada a objetos.
  • Introducción a las metodologías orientadas a objetos.
  • Introducción a los modelos y a la notación UML (modelo estático, modelo dinámico, modelo de cooperación, escenario).
Trabajo práctico
Aplicación de los conceptos a un estudio de caso, que será uno de los temas principales de los ejercicios siguientes.

3
Clases y objetos C

  • Sintaxis: campos, métodos, constructores.
  • Control de acceso.
  • Autorreferencia.
  • Campos y métodos estáticos.
  • Las funciones.
  • Métodos y clases amigas.
  • Creación dinámica de matrices de objetos.
  • Aspectos metodológicos: diseño de la clase.
  • Copiar y mover constructores (C++11).
  • Delegación de constructores (C++ 11).
  • Introducción a la gestión de la memoria (pila, montón, recolector de basura, etc.).
Trabajo práctico
Programación del caso práctico. Diseñar y construir una jerarquía de clases e interfaces.

4
Derivación y herencia

  • Principio de derivación.
  • Sintaxis: definición de clases derivadas, constructores.
  • Control de acceso.
  • Implementación del polimorfismo: funciones virtuales.
  • Reutilización del código: clases abstractas.
  • Interfaces.
  • Derivación múltiple.
  • Aspectos semánticos y metodológicos: factorizar el código.
Trabajo práctico
La aplicación del polimorfismo en el estudio de casos.

5
Excepciones

  • Sintaxis: bloques try, generación de excepciones.
  • Aspectos metodológicos: construcción de una jerarquía de excepciones, utilización de excepciones.
Trabajo práctico
La introducción de excepciones en el estudio de casos.

6
Sobrecarga del operador

  • Principio de sobrecarga.
  • Sobrecarga del operador binario.
  • Sobrecarga especial: el operador de índice, función y conversión.
  • Sobrecarga de operadores de gestión de memoria.
  • Sobrecarga de los operadores '&lt;<' et '>&gt;'.
Trabajo práctico
Sobrecarga de algunos operadores sencillos.

7
Los modelos

  • Modelo de clase. Principios generales y mecanismos. Sobrecarga del modelo y redefinición de métodos.
  • Modelo de función. Principios generales y mecanismos. Sobrecarga de modelos.
  • Modelos y sobrecarga del operador.
  • Modelos y mecanismos de derivación.
  • Las mejoras que ofrece C++ 11.
Trabajo práctico
Ejercicios sobre modelos.

8
Resumen de E/S y STL

  • E/S.
  • El principio de los flujos y la jerarquía de las clases de entrada/salida.
  • Descripción de algunas clases de entrada/salida.
  • Visión general de STL.
  • Objetivos y principios.
  • Descripciones de algunos modelos y clases.
  • Contenedores, iteradores, bucles basados en intervalos (C++ 11).

9
Conclusión

  • Ciclo de vida del software: pruebas, integración, método de lanzamiento a producción.
  • Interacción con otros entornos.
  • Análisis crítico de C++.
  • Evolución de C++.


Fechas y lugares
Selecciona tu ubicación u opta por la clase remota y luego elige tu fecha.
Clase a distancia