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:
-
Reutilizar código: No reinventaremos la rueda en cada proyecto.
-
Mantenimiento sencillo: Si algo falla en el «objeto motor», solo arreglaremos ese objeto sin romper el resto del sistema.
-
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.