Poliformismo (del griego “muchas formas”) es la cualidad que permite que una interfaz acceda a una clase general de acciones. La acción especifica está determinada por la naturaleza exacta de la situación. El volante de un automóvil representa un ejemplo simple de poliformismo. El volante (es decir, la interfaz) es el mismo sin importar el tipo de mecanismo de conducción real que se emplee. En otras palabras, el volante funcionará de manera igual si su automóvil tiene dirección manual, dirección hidráulica o de engranes. Por lo tanto, una vez que sepa cómo operar el volante, podrá manejar cualquier tipo de automóvil.
El mismo principio se puede aplicar también a la programación. Por ejemplo, tome en consideración una pila (la cual es una lista del tipo primero en entrar y último en salir). Podrá tener un programa que requiera tres tipos diferentes de pilas: una pila se usa para valores enteros, otra para valores de punto flotante y otra más para caracteres. En este caso, el algoritmo que implemente cada pila será el mismo, aunque los datos que se almacenen sean diferentes. En un lenguaje orientado a objetos necesitaría crear tres conjuntos diferentes de rutinas de pila, y cada conjunto tendría que emplear nombres diferentes. Sin embargo, debido al poliformismo, en Java puede crear un conjunto general de rutinas de pilas que funcione para las tres situaciones específicas. De esta manera, una vez que usted sabe cómo usar una pila, podrá usarlas todas.
De manera más general, el concepto de poliformismo suele expresarse con la frase “una interfaz, varios métodos”. Esto significa que es posible diseñar una interfaz genérica para un grupo de actividades relacionadas. El poliformismo ayuda a reducir la complejidad al permitir que la misma interfaz sea usada para especificar una clase general de acción. Usted, el programador, no necesita llevar a cabo esta selección manualmente, sólo necesita recordar y utilizar la interfaz general.
0 comentarios:
Publicar un comentario
Tu comentario es importante