Programación orientada a objetos
La Programación Orientada a Objetos (POO) es un paradigma de programación más cercano a la forma de expresar los conceptos que usamos en la vida real que la programación estructurada.
La POO organiza el código en "objetos" que representan entidades o conceptos del mundo real. Cada objeto contiene variables, llamadas atributos, y funciones llamadas métodos, que operan sobre esos datos. Este paradigma facilita la organización del código y hace que sea más modular, reutilizable y fácil de mantener.
Ventajas
- Modularidad: Puedes dividir el código en clases y objetos, lo que facilita su organización y comprensión.
- Reutilización: Las clases pueden ser reutilizadas y extendidas mediante la herencia.
- Mejora en la gestión de la complejidad: Permite modelar sistemas complejos al descomponerlos en objetos que representan entidades del mundo real.
- Facilidad de mantenimiento y escalabilidad: El código organizado en objetos es más fácil de mantener y adaptar a nuevos requisitos.
Características
- Clase (class): Es un modelo que define las características y el comportamiento de un tipo de objeto. Las clases son como planos que permiten crear múltiples instancias u objetos.
- Objeto (object): Cada objeto tiene su tipo, que, en terminología de POO se denominaría clase, y su propia memoria constituida por otros objetos. Se puede crear un nuevo objeto empaquetando objetos existentes.
- Encapsulamiento (encapsulation): Es el principio de ocultar los detalles internos de un objeto y exponer solo lo necesario.
- Herencia (hierarchy): Es el mecanismo por el cual una clase puede heredar atributos y métodos de una clase superior. Esto permite la reutilización del código y la creación de jerarquías de clases.
- Polimorfismo (polimorfism): Se refiere a la capacidad de que diferentes clases respondan a un mismo método de maneras distintas. Puede lograrse a través de sobrecarga (varias versiones de un método en la misma clase) o sobrescritura (una subclase redefine un método de su clase padre).
- Un programa es un conjunto de objetos diciéndose unos a otros lo que deben hacer mediante el envío de mensajes. Para hacer una petición a un objeto, se le envía a ese objeto un mensaje.
En los siguientes puntos profundizaremos más en ellas.