Anda di halaman 1dari 4

POLIMORFISMO EN C#

Según Deitel y Deitel (2007) un método polimórfico o polimorfo se define como una función que tiene la capacidad de
responder al mismo nombre con diferente operatividad en función de los parámetros utilizados en su invocación.
La palabra polimórfico proviene del griego poly: mucho, numeroso, frecuente y de morpho: que tiene una forma determinada
(Universidad de Salamanca, 2011). Es decir, polimórfico significa que “posee varias formas diferentes” (Troelsen, 2010.
P.235)
Desde el punto de vista de programación, un método polimórfico significa una función que tiene el mismo nombre, pero
diferente tipo de parámetros y funcionalidad.

Existen tres tipos de polimorfismo en C Sharp:


 Sobrecarga
 Paramétrico
 De inclusión

Polimórfico Concepto Usos


Método Polimórfico Función que tiene el mismo nombre, pero con Trabaja con grupos de objetos relacionados de
diferentes tipos de parámetros y funcionalidades. manera uniforme. Para solucionar problemas se
pueden utilizar dos pasos básicos:

Crear una jerarquía de clases en la que cada clase


de forma específica deriva de una clase base
común.
Usar un método virtual para invocar el método
apropiado en una clase derivada mediante una sola
llamada al método de la clase base.

Funciones polimórficas Pueden evaluarse o ser aplicadas a diferentes El único requisito que deben de cumplir los objetos
tipos de datos de forma indistinta. que se utilizan de manera polimórfica es saber
responder al mensaje que se les envía.
Polimorfismo de Ocurre cuando las funciones del mismo nombre Permite definir operadores cuyos comportamientos
sobrecarga existen, su funcionalidad es similar, en las clases varían de acuerdo a los parámetros que se les
son completamente independientes una a la otra. aplican.
Polimorfismo paramétrico Es la capacidad para definir varias funciones El código no incluye ningún tipo de especificación
utilizando el mismo nombre, pero usando sobre el tipo de datos sobre el que se trabaja, así,
parámetros diferentes. Selecciona puede ser utilizado a todo tipo de datos compatible.
automáticamente el método correcto a aplicar en
función del tipo de datos pasados en el parámetro.
Polimorfismo de inclusión La habilidad para redefinir un método en clases Es posible instanciar clases abstractas, de esta
que se hereda de una clase base se llama manera se logra un mayor grado de generalización.
especialización. Por lo tanto, se puede llamar a un
método de objeto sin tener que conocer su tipo Es posible utilizar métodos que apliquen objetos
intrínseco. polimórficos para que las funciones sean lo más
genéricas posibles.
Situaciones en las cuales pueda plantearse un polimorfismo como solución y menciona tres ejemplos

1. Creamos una clase Empleado y otra Alumno, las cuales heredan una clase abstracta Persona que tiene el método
saludar. En las clases hijas se sobrescribe el método saludar devolviendo el nombre de la persona y si es un
Empleado o un Alumno. En vez de tener un arreglo de empleado y otro alumno por separado, se utiliza el
polimorfismo con un solo arreglo de persona, al cual agregaremos un alumno y un empleado para luego iterar y
llamar al método saludar. Este es un ejemplo de Polimorfismo de sobrecarga

2. A una figura se le puede calcular el área, el triángulo, el rectángulo, el pentágono, el hexágono son figuras, a las
que se les puede calcular el área pero cada uno tiene una forma distinta de calcularlo Este es un ejemplo de
polimorfismo paramétrico porque existen cuatro métodos parecidos y solo son diferentes en el número de
parámetros.

3. Creamos una clase abstracta Figura, que va a tener dos métodos abstractos Area y Perimetro, las cuales contaran
con un constructor que va a recibir un valor de tipo doublé y lo guardara en un dato miembro. Se va a heredar de
la clase hija Circulo, que recibirá el constructor de radio e implementara los métodos: Area y Parimetro los cuales
van a calcular el área del circulo y el perímetro. Este ejemplo es de polimorfismo de inclusion

Conclusión:
Como ya se mencionó el polimorfismo es el segundo pilar fundamental de la Programación Orientada a Objetos
(Troelsen, 2010) y además es una consecuencia de la herencia; está ligado con la sobrecarga y métodos virtuales.
Esto ayuda al programador continuar con los pasos de la herencia donde se deriva la nueva clase.
Referencias

Polimorfismo en Programación Orientada a Objetos. Miguel Ángel Álvarez (20 de mayo 2014)
https://desarrolloweb.com/articulos/polimorfismo-programacion-orientada-objetos-concepto.html

Herencia y polimorfismo en el lenguaje de programación C Sharp México D.F. (Diciembre 2015)


https://unadmexico.blackboard.com/bbcswebdav/institution/DCEIT/2016_S1-
B2/DS/06/DPRN2/U2/Unidad_2_herencia_y_polimorfismo.pdf

Anda mungkin juga menyukai