Conceptos Esenciales de POO y Patrones de Diseño: Polimorfismo, Clases Abstractas e Interfaces

Clasificado en Informática

Escrito el en español con un tamaño de 3,3 KB

Conceptos Fundamentales de Programación Orientada a Objetos (POO)

¿Qué es el Polimorfismo en POO?

El polimorfismo, como su mismo nombre sugiere (múltiples formas), se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través de la misma interfaz. Es decir, en la práctica, un mismo identificador puede tener distintas formas (distintos cuerpos de función, distintos comportamientos) dependiendo, en general, del contexto en el que se halle inserto. El polimorfismo se puede establecer mediante la sobrecarga, la sobrescritura y el enlace dinámico.

¿En qué Consiste la Sobrecarga de Métodos?

La sobrecarga de métodos se refiere a la posibilidad de tener dos o más métodos con el mismo nombre, pero con funcionalidad diferente. Es decir, dos o más métodos con el mismo nombre pueden realizar acciones distintas. La forma de diferenciar varios métodos sobrecargados es a través de sus parámetros, ya sea por la cantidad, el tipo o el orden de los mismos.

¿Qué es la Sobrescritura de Métodos?

La sobrescritura de métodos se aplica a los métodos y está directamente relacionada con la herencia. Se refiere a la redefinición de los métodos de la clase base en las subclases.

Por ejemplo, en la relación de herencia del ejemplo de las figuras, aunque la clase base Figura tiene los métodos calcularArea y calcularPerimetro, las subclases Circulo, Cuadrado, Triangulo y Rectangulo redefinen estos métodos, ya que el cálculo del área y el perímetro de cada uno de ellos es diferente.

La Clase Abstracta

La clase abstracta puede tener métodos abstractos y no abstractos. Además, no se pueden crear objetos de una clase abstracta. Los métodos abstractos deben implementarse en las subclases.

Interfaz

Una interfaz define un conjunto de métodos sin implementación. Además, todos sus métodos deben ser públicos.

Patrones de Diseño: El Patrón Composite

¿Qué es el Patrón Composite?

El patrón Composite es un patrón de diseño muy poderoso en sí mismo. Consiste en crear objetos a partir de otros más pequeños. También puede contener objetos que tienen otros objetos, dando el aspecto de un árbol eneario.

En otras palabras, lo que afecte al objeto de mayor jerarquía alterará a todos sus objetos “hijos”. Supongamos que crearemos una aplicación que contiene etiquetas y también paneles. Ambos son componentes, ¿qué quiere decir esto? Pues que tanto la etiqueta como el panel implementan una interfaz común; por lo tanto, tendrán las mismas funciones. ¿Y esto para qué sirve? El panel, a diferencia de una etiqueta, tiene la posibilidad de almacenar dentro de sí otros componentes (más etiquetas o más paneles). Entonces, si queremos pintar todos los componentes de color rojo, lo normal sería ir uno a uno pintándolos de color rojo (etiquetas y paneles). Pero con el patrón Composite nos evitamos esta tarea, y con una simple llamada al método pintar del componente de mayor jerarquía, se pintan todos los demás componentes debajo de él.

Entradas relacionadas: