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 você 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á...
Veja os Destaques e novidades do SUPER DVD VB (sempre atualizado) : clique e confira ! Quer migrar para o VB .NET ? Veja mais sistemas completos para a plataforma .NET no Super DVD .NET , confira... Quer aprender C# ?? Chegou o Super DVD C# com exclusivo material de suporte e vídeo aulas com curso básico sobre C# Veja também os cursos em Vídeo Aulas : |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Visual Basic .NET - aquecendo as turbinas