Programación orientada a objetos (POO)
Junto con el paradigma de la orientación a procedimientos, son las dos filosofías generales de diseño más importantes. A diferencia de la orientación a procedimientos (OP), la orientación a objetos
(OO) no concibe los procesos como una secuencia de procedimientos con
su entrada y salida sino que se basa en un conjunto de objetos
interactuando:
Veamos a continuación los aspectos más destacados de esta filosofía general de diseño.
1. Clases y objetos
Es importante distinguir entre los conceptos de clase y objeto:
- Clase: Es un modelo abstracto de un tipo de objeto. Define sus métodos y atributos.
- Objeto: Es una instancia de una clase, es decir, la implementación con valores de un modelo abstracto.
Las clases no son entidades
independientes sino que se agrupan jerárquicamente heredando
características y atributos. Cada instancia o implementación real de una
clase constituirá un nuevo objeto por lo que se pueden crear infinitos
objetos distintos a partir de una sola clase.
2. Encapsulación
Se define como el proceso
de empaquetar juntos los métodos y los datos en un objeto. El objeto se
encarga de ocultar sus datos al resto de objetos. La encapsulación
permite una seguridad mayor en el acceso a los datos ya que este acceso
depende directamente de cada objeto. Asimismo, permite abstraer los
detalles internos de funcionamiento del objeto.
3. Intercambio de mensajes
Los objetos se comunican entre sí mediante mensajes de invocación a métodos:
4. Herencia
Es el concepto que define
la adopción de todas las características de una clase por parte de otra
clase que es definida como descendiente o heredera de la primera.
La principal consecuencia de la
herencia es la posibilidad de reutilizar clases ya que se pueden crear
nuevas a partir de las ya creadas.
La herencia puede ser de dos tipos, simple si sólo es posible heredar características de una sola clase, o múltiple si se pueden heredar características de varias clases.
No hay comentarios:
Publicar un comentario