Programación orientada a objetos
Organizar el código en objetos que juntan datos con las acciones que los usan.
La programación orientada a objetos, o POO, es una forma de organizar el código alrededor de objetos. Un objeto junta ciertos datos con las funciones que trabajan sobre ellos. Un objeto Customer puede guardar un nombre y un email y saber cómo hacer sendInvoice(). La clase es el molde: escribís la clase Customer una vez y creás miles de objetos cliente a partir de ella.
Casi siempre vienen tres ideas con ella. Encapsulamiento: un objeto esconde sus tripas y muestra solo lo que los demás necesitan, así podés cambiar lo de adentro sin romper el resto. Herencia: una clase puede extender a otra, entonces un PremiumCustomer reutiliza todo lo de Customer y le agrega un descuento. Polimorfismo: objetos distintos pueden responder al mismo pedido a su manera, así el código llama a pay() sin importarle si es una tarjeta o una transferencia.
La POO nació con lenguajes como Simula y Smalltalk en los 60 y 70, y se volvió masiva con C++ y después con Java. Java, C#, Python y Swift se apoyan en ella. No es el único estilo: la programación funcional, que prefiere datos simples y funciones sin estado escondido, ganó terreno, y la mayoría de los lenguajes modernos mezclan los dos. Abusar de la herencia es una forma clásica de terminar con código difícil de cambiar.
Para quedarse
- Un objeto junta datos con las funciones que actúan sobre ellos.
- La clase es el molde; los objetos son las instancias que salen de él.
- Encapsulamiento, herencia y polimorfismo son las ideas centrales.
- Java, C#, Python y Swift son orientados a objetos; la mayoría de los lenguajes mezclan estilos.