Polimorfismo


El polimorfismo consiste en la funcionalidad múltiple que puede tener un miembro de una clase para comportarse de diversas maneras de acuerdo al tipo de objeto que lo implemente.

Existen dos formas de implementar el polimorfismo en Visual Basic .NET:

  1. Polimorfismo basado en Herencia
Es una nueva forma de crear multiple funcionalidad para un método de una clase base que puede ser sobre escrito por otros métodos con el mismo nombre en las clases derivadas.

Ejemplo:
Tomemos como caso el ejemplo anterior donde habíamos sobre escrito el método “CrearEmpleado” de la clase “Empleado” modificandose en la clase derivada “Vendedor” para incluir lo recibido por comisiones de ventas. Crearemos el método llamado “MostrarSueldo” que permita crear el empleado y mostrar cuanto gana, usando el polimorfismo dependeiendo si es vendedor o no.

Sub MostrarSueldo(ByVal vEmpleado As Empleado, _
ByVal vCodigo As Integer, ByVal vNombre As String, _
ByVal vSueldo As Single)
vEmpleado.CrearEmpleado(vCodigo,vNombre,vSueldo)
MsgBox(vNombre & " gana s/. " & vSueldo)
End Sub

Sub ProbarPolimorfismo()
Dim objEmpleado As New Empleado
Dim objVendedor As New Vendedor
objEmpleado.CrearEmpleado(100, "Luis Dueñas", 1000)
objVendedor.Venta=1000
objVendedor.Comision=0.10
objVendedor.CrearEmpleado(100, "Luis Dueñas", 1000)
End Sub

En este ejemplo el resultado será para el primer caso el mensaje “Luis Dueñas gana 1000” y en el segundo caso el mensaje “Luis Dueñas gana 1100”.


  1. Polimorfismo basado en Interfaces
Este tipo de polimorfismo se usa también en Visual Basic 6 y consiste en crear una interface donde se definan nombres de propiedades y/o métodos, y luego se implementen con la sentencia “Implements” en varias clases, escribiendo diferentes códigos o implementaciones para las propiedades y métodos de cada clase.

Este último tipo de polimorfismo no se va a tratar, debido a que la manera natural de implementar polimorfismo es a través de la herencia de clases sobre escribiendo propiedades o métodos.