Saltar a contenido

Programación orientada a objetos

Introducción

La programación orientada a objetos (OOP) es un paradigma basado en el concepto de envolver trozos de datos y el comportamiento relacionado con esos datos en unos envoltorios especiales llamados objetos, que se construyen según un conjunto de “planos” llamados clases.

Pilares de la OOP

La programación orientada a objetos se basa en cuatro pilares:

  • Abstracción
    modelo de un objeto o fenómeno del mundo real, representando todos los detallas relevantes al contexto y omitiendo el resto.
  • Polimorfismo
    habilidad de un programa de detectar la verdadera clase de un objeto y llamar a su implementación, incluso cuando su tipo verdadero sea desconocido en el contexto actual.
  • Encapsulación
    habilidad de un objeto de esconder partes de su estado y comportamiento a otros objetos, exponiendo solo un interfaz limitado.
  • Herencia
    habilidad de construir nuevas clases a partir de las existentes.
classDiagram Animal <|-- Gato

Relaciones entre objetos

Aparte de la encapsulación y de la herencia se tienen las siguientes relaciones:

  • Asociación: es un tipo de relación en la que un objeto usa o interactúa con otro.
classDiagram Profesor --> Estudiante
  • Dependencia: es una variante más débil de la asociciación, habitualmente indica que no hay un enlace permanente entre objetos.
classDiagram Profesor ..> Salario
  • Composición: es una relación “todo-parte” entre dos objetos, en la que uno está compuesto de una o más instancias del otro. El componente solo puede existir como parte del contenedor.
classDiagram Universidad *-- Departamento
  • Agregación: es una variante menos estricta de la composición, donde un objeto simplemente contiene una referencia a otro. El componente puede existir sin el contenedor y puede estar enlazado con varios contenedores a la vez.
classDiagram Departamento o-- Profesor

Referencias

  • Dive into Design Patterns, Alexander Shvets

Última actualización: August 15, 2021