logo

Conceptos de programación orientada a objetos de C++

El objetivo principal de la programación en C++ es introducir el concepto de orientación a objetos en el lenguaje de programación C.

La Programación Orientada a Objetos es un paradigma que proporciona muchos conceptos como herencia, enlace de datos, polimorfismo, etc.

El paradigma de programación donde todo se representa como un objeto se conoce como lenguaje de programación verdaderamente orientado a objetos. Charla Se considera el primer lenguaje de programación verdaderamente orientado a objetos.


POO (Sistema de programación orientada a objetos)

Objeto significa una entidad de palabra real como bolígrafo, silla, mesa, etc. Programación orientada a objetos Es una metodología o paradigma para diseñar un programa utilizando clases y objetos. Simplifica el desarrollo y mantenimiento del software proporcionando algunos conceptos:

lista java vacía
Cpp Ups concepto 1
  • Objeto
  • Clase
  • Herencia
  • Polimorfismo
  • Abstracción
  • Encapsulación

Objeto

Cualquier entidad que tenga estado y comportamiento se conoce como objeto. Por ejemplo: silla, bolígrafo, mesa, teclado, bicicleta, etc. Puede ser físico y lógico.

Clase

Colección de objetos se llama clase. Es una entidad lógica.

Una clase en C++ es el elemento fundamental que conduce a la programación orientada a objetos. Se debe crear una instancia de clase para acceder y utilizar los miembros de datos y las funciones miembro del tipo de datos definido por el usuario. La clase de un objeto actúa como su modelo. Tomemos como ejemplo la clase de automóviles. Aunque se puedan utilizar diferentes nombres y marcas para diferentes coches, todos ellos tendrán algunas características en común, como cuatro ruedas, un límite de velocidad, una autonomía de kilómetros, etc. En este caso, la clase de coche está representada por las ruedas, las limitaciones de velocidad y el kilometraje.

Herencia

Cuando un objeto adquiere todas las propiedades y comportamientos del objeto padre es decir, conocido como herencia. Proporciona reutilización del código. Se utiliza para lograr polimorfismo en tiempo de ejecución.

  1. Subclase: subclase o clase derivada se refiere a una clase que recibe propiedades de otra clase.
  2. Superclase: el término 'Clase base' o 'Superclase' se refiere a la clase de la que una subclase hereda sus propiedades.
  3. Reutilizabilidad: como resultado, cuando deseamos crear una nueva clase, pero una clase existente ya contiene parte del código que necesitamos, podemos generar nuestra nueva clase a partir de la clase anterior gracias a la herencia. Esto nos permite utilizar los campos y métodos de la clase preexistente.

Polimorfismo

Cuando una tarea se realiza de diferentes maneras es decir, conocido como polimorfismo. Por ejemplo: para convencer al cliente de lo contrario, para dibujar algo, p. forma o rectángulo, etc.

Diferentes situaciones pueden hacer que una operación se comporte de manera diferente. El tipo de datos utilizados en la operación determina el comportamiento.

Abstracción

Ocultar detalles internos y mostrar funcionalidad. se conoce como abstracción. La abstracción de datos es el proceso de exponer al mundo exterior solo la información que es absolutamente necesaria mientras se oculta información de implementación o de antecedentes. Por ejemplo: llamada telefónica, no conocemos el procesamiento interno.

En C++, utilizamos clases e interfaces abstractas para lograr la abstracción.

Encapsulación

Vincular (o empaquetar) código y datos en una sola unidad se conoce como encapsulación. Por ejemplo: cápsula, está envuelta con diferentes medicamentos.

La encapsulación suele entenderse como la agrupación de piezas de información y datos relacionados en una sola entidad. La encapsulación es el proceso de vincular datos y las funciones que trabajan con ellos en la programación orientada a objetos. Mire un ejemplo práctico de encapsulación: en una empresa hay varias divisiones, incluida la división de ventas, la división de finanzas y la división de cuentas. Todas las transacciones financieras son manejadas por el sector financiero, que también mantiene registros de todos los datos financieros. De manera similar, la sección de ventas se encarga de todas las tareas relacionadas con las ventas y mantiene un registro de cada venta. Ahora bien, podría darse un escenario en el que, por alguna razón, un funcionario financiero requiera toda la información sobre las ventas de un mes específico. Bajo el término general 'sección de ventas' se agrupan todos los empleados que pueden influir en los datos de la sección de ventas. La abstracción u ocultación de datos es otro efecto secundario de la encapsulación. De la misma forma que la encapsulación oculta los datos. En el ejemplo mencionado anteriormente, cualquier otra área no puede acceder a ninguno de los datos de ninguna de las secciones, como ventas, finanzas o cuentas.

Enlace dinámico - En el enlace dinámico, se toma una decisión en tiempo de ejecución con respecto al código que se ejecutará en respuesta a una llamada de función. Para ello, C++ admite funciones virtuales.

Arquitectura de 32 bits frente a 64 bits

Ventaja de la programación orientada a objetos sobre el lenguaje de programación orientado a procedimientos

  1. La programación orientada a objetos facilita el desarrollo y el mantenimiento, mientras que en el lenguaje de programación orientado a procedimientos no es fácil de administrar si el código crece a medida que crece el tamaño del proyecto.
  2. Los OOP proporcionan ocultación de datos, mientras que en el lenguaje de programación orientado a procedimientos se puede acceder a datos globales desde cualquier lugar.
  3. Los OOP brindan la capacidad de simular eventos del mundo real de manera mucho más efectiva. Podemos proporcionar la solución a un problema real si utilizamos el lenguaje de programación orientada a objetos.

¿Por qué necesitamos Ups en C++?

Los primeros métodos de programación presentaban varios inconvenientes, así como un rendimiento deficiente. El enfoque no podía abordar eficazmente los problemas del mundo real ya que, al igual que la programación orientada a procedimientos, no se podía reutilizar el código dentro del programa nuevamente, había dificultades con el acceso global a los datos, etc.

Con el uso de clases y objetos, la programación orientada a objetos simplifica el mantenimiento del código. Debido a que la herencia permite la reutilización del código, el programa es más simple porque no es necesario escribir el mismo código repetidamente. El ocultamiento de datos también lo proporcionan ideas como la encapsulación y la abstracción.

¿Por qué C++ es un error parcial?

Las características orientadas a objetos del lenguaje C fueron la principal motivación detrás de la construcción del lenguaje C++.

El lenguaje de programación C++ se clasifica como un lenguaje de programación parcialmente orientado a objetos a pesar de que admite conceptos de programación orientada a objetos, incluidas clases, objetos, herencia, encapsulación, abstracción y polimorfismo.

1) La función principal siempre debe estar fuera de la clase en C++ y es obligatoria. Esto significa que podremos prescindir de clases y objetos y tener una única función principal en la aplicación.

ordenación por inserción java

En este caso, se expresa como un objeto, que es la primera vez que se viola Pure OOP.

2) Las variables globales son una característica del lenguaje de programación C++ a la que puede acceder cualquier otro objeto dentro del programa y se definen fuera de él. La encapsulación está rota aquí. Aunque C++ fomenta la encapsulación de clases y objetos, la ignora para las variables globales.

Sobrecarga

El polimorfismo también tiene un subconjunto conocido como sobrecarga. Se dice que un operador o función existente está sobrecargado cuando se ve obligado a operar con un nuevo tipo de datos.

Conclusión

Habrá comprendido la necesidad de la programación orientada a objetos, qué son los POO de C++ y los fundamentos de los POO, como el polimorfismo, la herencia, la encapsulación, etc., después de leer este curso sobre conceptos de POO en C++. Junto con los ejemplos de polimorfismo y herencia, también aprendió sobre los beneficios de la programación orientada a objetos de C++.