logo

Introducción a la programación orientada a objetos

Como sugiere el nombre, la Programación Orientada a Objetos u OOP se refiere a lenguajes que utilizan objetos en la programación. La programación orientada a objetos tiene como objetivo implementar entidades del mundo real como herencia, ocultación, polimorfismo, etc. en la programación. El objetivo principal de la programación orientada a objetos es unir los datos y las funciones que operan sobre ellos para que ninguna otra parte del código pueda acceder a estos datos excepto esa función.

Conceptos de POO:

  • Clase
  • Objetos
  • Abstracción de datos
  • Encapsulación
  • Herencia
  • Polimorfismo
  • Enlace dinámico
  • Paso de mensajes

1. Clase:



Una clase es un tipo de datos definido por el usuario. Consta de miembros de datos y funciones miembro, a las que se puede acceder y utilizar creando una instancia de esa clase. Representa el conjunto de propiedades o métodos que son comunes a todos los objetos de un tipo. Una clase es como un modelo para un objeto.

Por ejemplo: Considere la clase de automóviles. Puede haber muchos automóviles con diferentes nombres y marcas, pero todos compartirán algunas propiedades comunes, como que todos tendrán 4 ruedas, límite de velocidad, rango de kilometraje, etc. Entonces, aquí, el automóvil es la clase y las ruedas, los límites de velocidad. El kilometraje son sus propiedades.

2. Objeto:

Es una unidad básica de Programación Orientada a Objetos y representa las entidades de la vida real. Un objeto es una instancia de una clase. Cuando se define una clase, no se asigna memoria, pero cuando se crea una instancia (es decir, se crea un objeto), se asigna memoria. Un objeto tiene una identidad, un estado y un comportamiento. Cada objeto contiene datos y código para manipular los datos. Los objetos pueden interactuar sin tener que conocer detalles de los datos o códigos de cada uno, basta con saber el tipo de mensaje aceptado y el tipo de respuesta devuelta por los objetos.

Por ejemplo, el perro es un objeto de la vida real, que tiene algunas características como color, raza, ladrido, sueño y comida.

Objeto en programación orientada a objetos

Objeto

3. Abstracción de datos:

La abstracción de datos es una de las características más esenciales e importantes de la programación orientada a objetos. La abstracción de datos se refiere a proporcionar solo información esencial sobre los datos al mundo exterior, ocultando los detalles de fondo o la implementación. Considere un ejemplo de la vida real de un hombre conduciendo un automóvil. El hombre sólo sabe que presionar el acelerador aumentará la velocidad del auto o aplicar los frenos detendrá el auto, pero no sabe cómo al presionar el acelerador la velocidad aumenta, no sabe sobre el mecanismo interno del auto. o la implantación del acelerador, frenos, etc en el coche. Esto es lo que es la abstracción.

4. Encapsulación:

corrimiento al rojo

La encapsulación se define como la agrupación de datos en una sola unidad. Es el mecanismo que une el código y los datos que manipula. En Encapsulación, las variables o datos de una clase están ocultos de cualquier otra clase y solo se puede acceder a ellos a través de cualquier función miembro de su clase en la que están declarados. Al igual que en la encapsulación, los datos de una clase están ocultos de otras clases, por lo que también se conoce como ocultación de datos .

Encapsulación en programación orientada a objetos

Considere un ejemplo de encapsulación de la vida real: en una empresa, hay diferentes secciones como la sección de cuentas, la sección de finanzas, la sección de ventas, etc. La sección de finanzas maneja todas las transacciones financieras y mantiene registros de todos los datos relacionados con las finanzas. De manera similar, la sección de ventas maneja todas las actividades relacionadas con las ventas y mantiene registros de todas las ventas. Ahora puede surgir una situación en la que, por alguna razón, un funcionario de la sección de finanzas necesite todos los datos sobre las ventas en un mes en particular. En este caso no se le permite acceder directamente a los datos de la sección de ventas. Primero tendrá que ponerse en contacto con algún otro funcionario de la sección de ventas y luego pedirle que le proporcione los datos concretos. Esto es lo que es la encapsulación. Aquí los datos de la sección de ventas y los empleados que pueden manipularlos están agrupados en una sección de ventas de un solo nombre.

5. Herencia:

La herencia es un pilar importante de la POO (programación orientada a objetos). La capacidad de una clase para derivar propiedades y características de otra clase se llama herencia. Cuando escribimos una clase, heredamos propiedades de otras clases. Entonces, cuando creamos una clase, no necesitamos escribir todas las propiedades y funciones una y otra vez, ya que pueden heredarse de otra clase que las posea. La herencia permite al usuario reutilizar el código siempre que sea posible y reducir su redundancia.

Interitancia en programación orientada a objetos

6. Polimorfismo:

La palabra polimorfismo significa tener muchas formas. En palabras simples, podemos definir el polimorfismo como la capacidad de un mensaje de mostrarse en más de una forma. Por ejemplo, una persona al mismo tiempo puede tener características diferentes. Como un hombre es al mismo tiempo padre, marido, empleado. Entonces la misma persona posee un comportamiento diferente en diferentes situaciones. Esto se llama polimorfismo.

Polimorfismo en OOP

7. Enlace dinámico:

En el enlace dinámico, el código que se ejecutará en respuesta a la llamada a la función se decide en tiempo de ejecución. El enlace dinámico significa que el código asociado con una llamada a un procedimiento determinado no se conoce hasta el momento de la llamada en tiempo de ejecución. Enlace de método dinámico Una de las principales ventajas de la herencia es que alguna clase derivada D tiene todos los miembros de su clase base B. Una vez que D no oculta ninguno de los miembros públicos de B, entonces un objeto de D puede representar a B en cualquier contexto. donde se podría utilizar una B. Esta característica se conoce como polimorfismo de subtipo.

8. Transmisión de mensajes:

Es una forma de comunicación utilizada en la programación orientada a objetos, así como en la programación paralela. Los objetos se comunican entre sí enviándose y recibiendo información entre sí. Un mensaje para un objeto es una solicitud de ejecución de un procedimiento y por lo tanto invocará una función en el objeto receptor que genera los resultados deseados. El paso de mensajes implica especificar el nombre del objeto, el nombre de la función y la información que se enviará.

¿Por qué necesitamos programación orientada a objetos?

  • Para hacer más sencillo el desarrollo y mantenimiento de proyectos.
  • Proporcionar la función de ocultación de datos que es buena por motivos de seguridad.
  • Podemos resolver problemas del mundo real si utilizamos programación orientada a objetos.
  • Garantiza la reutilización del código.
  • Nos permite escribir código genérico: que funcionará con una variedad de datos, para que no tengamos que escribir cosas básicas una y otra vez.