Un paradigma de programación informática que se basa en la creación de piezas simples y reutilizables de planos de código (o clases) que sirven para crear instancias individuales de objetos para estructurar un programa.

Descripción

La POO busca programar de una forma más cercana a cómo vemos el mundo real. En lugar de escribir una lista interminable de instrucciones (como pasos de una receta), organizamos el código en «piezas» llamadas objetos.

Los 4 pilares de la POO

Para que un lenguaje sea considerado orientado a objetos, debe cumplir con estos cuatro principios fundamentales.

Abstracción

Consiste en simplificar la realidad. Solo nos interesan las características relevantes para nuestro programa.

Ejemplo: Si programamos una app para una clínica, de un «paciente» nos interesará su historial médico, no si sabe bailar salsa.

Encapsulamiento

El encapsulamiento se trata de «esconder» los detalles internos del objeto y proteger sus datos. El objeto es como una caja negra con botones: nosotros sabemos qué hace el botón, pero no necesitamos saber cómo funcionan los cables por dentro.

Beneficio: Evita que otros programadores (o yo misma, por error) modifiquen datos críticos directamente.

Herencia

Permite que una clase nueva aproveche las características de otra ya existente.

Ejemplo: Si tenemos la clase vehículo (con ruedas y motor), podemos crear una clase moto que herede de ella. Así no tenemos que volver a programar las ruedas ni el motor; solo programaremos lo específico de la moto.

Polimorfismo

Es la capacidad de que objetos diferentes respondan al mismo mensaje de formas distintas.

Ejemplo: Si tenemos una lista de animales y a todos les damos la orden «hablar», el objeto perro dirá «guau» y el objeto gato dirá «miau». La orden es la misma, el resultado varía según quién la reciba.

Ventajas

La POO revolucionó el software porque permite:

  1. Reutilizar código: No reinventaremos la rueda en cada proyecto.

  2. Mantenimiento sencillo: Si algo falla en el «objeto motor», solo arreglaremos ese objeto sin romper el resto del sistema.

  3. Trabajo en equipo: Un programador puede encargarse de la interfaz y otro del motor de datos sin estorbarse.

Ejemplos

Aunque Java es el referente clásico, la POO es tan efectiva que casi todos los lenguajes de programación modernos la han adoptado, ya sea de forma pura o híbrida.

Una evolución de C que añade clases.

C++ se usa donde el rendimiento es crítico: motores de juegos (como Unreal Engine), navegadores web o sistemas operativos.

Desarrollado por Microsoft. Es unl competidor de Java y es el lenguaje estándar para crear videojuegos en el motor Unity.

Java es el rey del entorno empresarial y Android. Todo debe estar dentro de una clase.

Kotlin es considerado el sucesor de Java para Android. Es más conciso, pero mantiene total compatibilidad con las librerías de Java.

Aunque nació para scripts simples, desde su versión 5 PHP evolucionó hacia un modelo de POO muy robusto, utilizado por plataformas como WordPress o Laravel.

Aunque es multiparadigma, su implementación de POO es muy potente y sencilla.

Python es el lenguaje número uno en inteligencia artificial y ciencia de datos.

Ruby es muy popular en el desarrollo web (Ruby on Rails). Su filosofía es que «todo es un objeto», incluso un número o un simple texto.

TypeScript es una versión «mejorada» de JavaScript que añade tipos y una estructura de clases mucho más sólida; ideal para aplicaciones web grandes.

Sinónimos:
object-oriented programming
Categorías: Tecnología