Paradigmas de la Orientación a Objetos

Paradigmas de la O.O.

Los paradigmas de la Orientación a Objetos son:

  • Abstracción.
  • Encapsulación.
  • Ocultamiento.
  • Herencia.
  • Polimorfismo.

Cualquier lenguaje O.O. debe implementar estos conceptos.

Abstracción

  • Consiste en la generalización conceptual de los atributos y comportamiento de un determinado conjunto de objetos.
  • La clave de la programación O.O. está en abstraer los métodos y los datos comunes a un conjunto de objetos y almacenarlos en una clase.
  • Hay que centrarse en lo que es y lo que hace un objeto, antes de decidir cómo debería ser implementado.

Encapsulación y ocultamiento

  • Consiste en separar el aspecto externo del objeto, al cual pueden acceder otros objetos, del aspecto interno del mismo, que es inaccesible para los demás.
  • Permite tratar a un objeto como una caja negra.
  • Permite que se modifique la implementación interna de un objeto sin afectar a los clientes que lo utilizan.

Relaciones

Las clases no existen aisladas sino que tienen dependencias entre ellas.

Los distintos tipos de relaciones son:

  • Asociación: representa la dependencia más general entre clases. Representa una dependencia semántica entre dos clases.
  • Agregación: es una forma particular de asociación que expresa un acoplamiento más fuerte entre objetos.Indica que los objetos de una clase contienen o están formados por objetos de otras clases.
  • Composición: se trata de una relación de agregación fuerte.
  • Herencia: se basa en la existencia de relaciones de generalización/especialización entre clases. Las clases se disponen en una jerarquía, donde una clase hereda todos los atributos y operaciones de las clases superiores en la jerarquía.
  • Relaciones dinámicas: mensaje. Un mensaje es un comando o petición que se le envía a otro objeto.Requiere el conocimiento previo del interfaz del objeto receptor.

Polimorfismo

  • Permite implementar múltiples formas de un mismo método, dependiendo cada una de ellas de la clase sobre la que se realice la implementación.
  • Esto posibilita desencadenar operaciones diferentes en respuesta a un mismo mensaje, en función del objeto que lo reciba.