Conceptos de C++
Antes de iniciar el estudio de C++, resulta imperativo adquirir conocimientos fundamentales acerca de los conceptos asociados a la programación orientada a objetos (POO).
Objetos:
Los objetos constituyen la unidad elemental de la programación orientada a objetos. Se trata de instancias de clases que poseen miembros de datos y emplean diversas funciones miembro para llevar a cabo operaciones específicas.
Clase:
La clase, equiparable a las estructuras en el lenguaje C, también puede ser definida como un tipo de dato creado por el usuario que incorpora funciones. En esencia, la clase actúa como un modelo para un objeto, estableciendo las variables de datos y las operaciones permitidas sobre el objeto de dicha clase.
Herencia:
La herencia proporciona una vía para reutilizar el código de manera repetitiva. La clase que sirve como origen de la herencia se denomina clase base
, mientras que la clase que la hereda se conoce como clase derivada
. La clase derivada tiene acceso a todas las funciones definidas en la clase base, permitiendo la reutilización eficiente del código.
Abstracción de Datos:
La abstracción de datos enriquece la capacidad del lenguaje de programación al posibilitar la creación de tipos de datos personalizados. Además, esta abstracción representa la información necesaria en el programa sin revelar los detalles internos de su implementación.
Encapsulación de Datos:
La encapsulación, también conocida como enlace de datos, implica la unión de variables de datos y funciones dentro de una clase. Esta unificación crea la unidad denominada clase
. Al emplear la encapsulación, los datos no son accesibles directamente; únicamente se pueden manipular mediante las funciones definidas internamente en la clase. La encapsulación facilita el concepto crucial de ocultamiento de datos.
Polimorfismo:
El polimorfismo es una característica que permite la creación de funciones con el mismo nombre pero con diferentes argumentos, ejecutándose de manera distinta según el contexto. Esta propiedad también posibilita la redefinición de funciones para proporcionar nuevas definiciones según las necesidades del programa.