¿Qué es la programación orientada a objetos? Los cuatro conceptos básicos de la POO

En la sociedad actual, impulsada por la tecnología, hay una gran demanda de conocimientos de programación informática. Los conocimientos de POO pueden ser útiles a la hora de desarrollar y mantener programas de software.

En este artículo, tratamos los principios básicos de la POO y los explicamos con ejemplos fáciles de entender.

15 trabajos de informática bien pagados

¿Qué es la programación orientada a objetos?

En la programación orientada a objetos, se puede pensar en los objetos como una unidad formada por variables (propiedades) y funciones (métodos). La programación orientada a objetos puede ayudarte a escribir código teniendo en cuenta cómo se comportan los objetos.

Este estilo de programación existe ampliamente en lenguajes de programación de uso común como Java, C++ y PHP. Estos lenguajes ayudan a simplificar la estructura y la organización de los programas de software. Los programadores suelen utilizar la POO cuando necesitan crear programas complejos.

Relacionado: Redacción de currículos técnicos: Consejos y ejemplos

Cuáles son los cuatro fundamentos de la programación orientada a objetos?

La programación orientada a objetos tiene cuatro conceptos básicos: encapsulación, abstracción, herencia y polimorfismo. Aunque estos conceptos parezcan increíblemente complejos, comprender el marco general de su funcionamiento le ayudará a entender los fundamentos de un programa informático. He aquí las cuatro teorías básicas y lo que implican:

  • Encapsulado
  • Abstracción
  • Herencia
  • Polimorfismo

Encapsulación

Los diferentes objetos dentro de cada programa tratarán de comunicarse entre sí automáticamente. Si un programador quiere evitar que los objetos interactúen entre sí, es necesario encapsularlos en clases individuales. Mediante el proceso de encapsulación, las clases no pueden cambiar o interactuar con las variables y funciones específicas de un objeto.

Al igual que una píldora «encapsula» o contiene el medicamento dentro de su recubrimiento, el principio de encapsulación funciona de forma digital para formar una barrera protectora alrededor de la información que la separa del resto del código. Los programadores pueden replicar este objeto en diferentes partes del programa o en otros programas.

Abstracción

La abstracción es como una extensión de la encapsulación porque oculta ciertas propiedades y métodos del código exterior para hacer más sencilla la interfaz de los objetos. Los programadores utilizan la abstracción por varias razones beneficiosas. En general, la abstracción ayuda a aislar el impacto de los cambios realizados en el código, de modo que si algo va mal, el cambio sólo afectará a las variables mostradas y no al código exterior.

Herencia

Utilizando este concepto, los programadores pueden ampliar la funcionalidad de las clases existentes del código para eliminar el código repetitivo. Por ejemplo, los elementos del código HTML que incluyen un cuadro de texto, un campo de selección y una casilla de verificación tienen ciertas propiedades en común con métodos específicos.

En lugar de redefinir las propiedades y métodos para cada tipo de elemento HTML, puede definirlos una vez en un objeto genérico. Si nombra ese objeto con un nombre como «HTMLElement» hará que otros objetos hereden sus propiedades y métodos, por lo que podrá reducir el código innecesario.

El objeto principal es la superclase y todos los objetos que le siguen son subclases. Las subclases pueden tener elementos separados mientras añaden lo que necesitan de la superclase.

Polimorfismo

Esta técnica que significa «muchas formas o figuras» permite a los programadores renderizar múltiples elementos HTML dependiendo del tipo de objeto. Este concepto permite a los programadores redefinir el funcionamiento de algo cambiando la forma en que se hace o cambiando las partes en que se hace. Los términos de polimorfismo se llaman overriding y overloading.

Relacionado: Habilidades informáticas: Definiciones y ejemplos

Ejemplos de programación orientada a objetos

El uso de ejemplos del mundo real de la OOP ayuda a simplificar estos complejos conceptos para una mayor comprensión. He aquí algunas formas de visualizar los principios que subyacen a la POO:

  • Ejemplo de encapsulación
  • Ejemplo de abstracción
  • Ejemplo de herencia
  • Ejemplo de polimorfismo

Ejemplo de encapsulación

Los programadores principiantes pueden entender mejor este concepto en relación con el funcionamiento de un navegador. Los navegadores tienen objetos de almacenamiento local que permiten almacenar datos localmente. Estos objetos tienen propiedades, como la longitud, que convierte el número de objetos en almacenamiento, junto con métodos como (eliminar elemento) y (establecer elemento).

Otra forma de considerar la encapsulación es en términos de la paga de un empleado. Las propiedades de un empleado pueden incluir el salario base, las horas extras y la tarifa con un método llamado factor salarial. El código escrito de forma encapsulada y orientada a objetos funciona cada vez con menos parámetros. Cuanto menor sea el número de parámetros, más fácil será utilizar y mantener esa función.

Ejemplo de abstracción

Piense en un equipo de música como un objeto con una compleja placa lógica en su interior. Tiene botones en el exterior para permitir la interacción con el objeto. Cuando se pulsa cualquiera de los botones, no se piensa en lo que ocurre en el interior porque no se ve. Aunque no pueda ver la placa lógica completando funciones como resultado de pulsar un botón, sigue realizando acciones. Se trata de una abstracción que puede utilizarse para entender el concepto de programación.

Otra forma de entender esto es considerar el cuerpo humano. La piel actúa como una abstracción para ocultar las partes internas del cuerpo responsables de funciones corporales como la digestión y la marcha.

Ejemplo de herencia

Considere dos clases. Una es la superclase (padre) mientras que la subclase (hijo) heredará las propiedades de la clase padre y modificará su comportamiento. Los programadores que aplican la técnica de la herencia organizan estas clases en una jerarquía de relaciones «es-un-tipo-de».

Por ejemplo, en el mundo animal, un insecto sería una superclase. Todos los insectos comparten propiedades similares, como tener seis patas y un exoesqueleto. Tanto los saltamontes como las hormigas son insectos y han heredado propiedades similares.

Ejemplo de polimorfismo

Para entender mejor los dos términos de polimorfismo llamados overloading y overriding, ayuda visualizar el proceso de caminar. Los bebés aprenden primero a gatear utilizando los brazos y las piernas. Una vez que aprenden a ponerse de pie y a caminar, acaban cambiando la parte del cuerpo utilizada para realizar el acto de caminar. Este término de polimorfismo se llama sobrecarga.

Para entender el siguiente término de anulación, piense en cómo camina de forma natural en la dirección a la que se dirige. Cuando te detienes y caminas hacia atrás, esto cambia la dirección de tu camino y también el mecanismo de funcionamiento. Estás anulando la acción natural que sueles realizar.