No siempre es necesario realizar una sobrecarga.
En el siguiente ejemplo podemos ver repetido el mismo método en tres ocasiones, serían tres sobrecargas.
Public Sub Sobrecarga(ByVal Version1 As Integer)
End Sub
Public Sub Sobrecarga(ByVal Version2 As Integer, ByVal Otro As Boolean)
End Sub
Public Sub Sobrecarga(ByVal Version3 As Integer, ByVal Otro As Single)
End Sub
En el programa principal quedaría reflejado como sigue:
Podemos ver en la siguiente imagen que la línea de argumentos ha cambiado.
Solo es cuestión de elegir la que necesitemos.
Como hemos comentado, el realizar una sobrecarga no implica que haya que reescribir el método completo.
En el ejemplo que sigue podemos ver como las sobrecargas de cada método llaman al mismo procedimiento y lo que se hace es ofrecer distintas opciones al usuario, completando por programa las carencias.
Public Class Ejemplos
Private Sub Escribe(ByVal Texto As String, _
ByVal ColorTexto As ConsoleColor, _
ByVal ColorFondo As ConsoleColor)
Console.ForegroundColor = ColorTexto
Console.BackgroundColor = ColorFondo
Console.WriteLine(Texto)
End Sub
Public Sub EscribirTexto()
Escribe("hola", ConsoleColor.White, ConsoleColor.Black)
End Sub
Public Sub EscribirTexto(ByVal Texto As String)
Escribe(Texto, ConsoleColor.White, ConsoleColor.Black)
End Sub
Public Sub EscribirTexto(ByVal Texto As String, _
ByVal ColorTexto As ConsoleColor, _
ByVal ColorFondo As ConsoleColor)
Escribe(Texto, ColorTexto, ColorFondo)
End Sub
End Class
En el principal su uso quedaría así.
Module Module1
Sub Main()
Dim Objeto As Ejemplos = New Ejemplos
Objeto.EscribirTexto()
Objeto.EscribirTexto("Hola mundo")
Objeto.EscribirTexto("Hola", ConsoleColor.Blue, ConsoleColor.DarkBlue)
Console.ReadLine()
End Sub
End Module
Es importante recordar que desde los métodos, podemos ejecutar código privado, funciones o procedimientos, lo cual reduce el volumen de código que hay que escribir, y reduce la posibilidad de errores.
Private Sub Escribe(ByVal Texto As String, _
ByVal ColorTexto As ConsoleColor, _
ByVal ColorFondo As ConsoleColor)
Console.ForegroundColor = ColorTexto
Console.BackgroundColor = ColorFondo
Console.WriteLine(Texto)
End Sub
Este procedimiento es llamado desde los tres métodos, solo habría que modificarlo una vez, y quedaría actualizado para los tres.
La sobre carga, overload, nos permite que un mismo método podamos tenerlo escrito con distintas versiones y con el mismo nombre, de forma que podemos tener distintos puntos de partida para una misma acción.
La sobrecarga se produce cuando el método coincide en nombre pero no en el número de argumentos o aunque tenga el mismo número de argumentos el tipo de los mismos cambia.
![]() |
Síguenos en: Facebook Sobre aulaClic Política de Cookies