Conceitos : Sobrecarga (Overloading)
Sobrecarga ou Overloading o que é isso ? Se você esta vindo de uma linguagem procedural como Clipper, Dbase , Basic ou se esta começando agora tendo o VB como sua primeira linguagem de programação pode estranhar o termo. Mas é apenas uma questão de prática.
Sobrecarga é a habilidade de poder definir diversas propriedades , métodos ou procedimentos em uma classe com o mesmo nome.
Você entendeu ? Bem , vou ser mais claro. Se você criar dois procedimentos em seu aplicativo com o mesmo nome e com argumentos diferentes estará usando sobrecarga.
Você deve estar se perguntando: "Como posso criar dois procedimentos com o mesmo nome ? Como vou diferenciá-los ? ". Garoto 'experto' você !!!
Você vai diferenciar os procedimentos pela lista de argumentos que eles vão possuir , isto é , os procedimentos terão argumentos diferentes. Vou dar um exemplo :
Suponha que voce precise criar uma classe com um método que retorne o valor da área de um quadrado , só que este método vai poder aceitar como parâmetro uma string ou um número.
Veja a solução genérica :
| Function
Calcula_Area(ByVal lado As Double) As Double Return lado * lado End Function |
Function
Calcula_Area(ByVal lado As String) As Double Dim ld as Double ld = CDbl(lado) Return ld * ld End Function |
Você tem duas funções com o mesmo nome mas que possuem argumentos diferentes e que fornecem o mesmo resultado. Para usar a sobrecarga no VB.NET todos os membros sobrecarregados devem ser declarados com a palavra-chave : Overloads. Veja como ficaria no VB.NET :
| Overloads
Function Calcula_Area(ByVal lado As Double) As Double Return lado * lado End Function |
Overloads
Function Calcula_Area(ByVal lado As String) As Double Dim ld As Double ld = CDbl(lado) Return ld * ld End Function |
Podemos criar mais métodos com
argumentos diferentes. Suponha que você tenha que calcular a
área de um triângulo também . Como você deve saber das aulas
de matemática do colégio (que você amava
) a área de um
triângulo é : (base x altura)/2 , logo você vai precisar de
mais um argumento: a altura. Veja como fica o método
sobrecarregado:
| Overloads
Function Calcula_Area(ByVal Base As Double, ByVal Altura As
Double) As Double Return (Base * Altura) / 2 End Function |
Este conceito é muito usado para definir múltiplos construtores para um objeto. Mas isto é assunto para um outro artigo: Construtores.
Então até lá...![]()
Obs: Mudei o fundo da página para branco: A idéia é tornar mais fácil a leitura. O que você achou ????
José Carlos Macoratti