VB.NET - Construtores

Eu já falei rapidamente sobre o que é um construtor no artigo - VB.NET - Primeiros passos - Conceitos - V - neste artigo vamos nos aprofundar um pouco mais.

A esta altura você já deve saber o que é uma variável e como atribuir um valor a ela.  Assim como você inicializa uma variável atribuindo um valor a ela  ( Ex:  Dim valor As Integer = 10 ) . Os construtores fazem o mesmo tipo de operação para os objetos. A diferença básica é que objetos exigem uma inicialização mais avançada pois são mais complexos que variáveis.

Nota: O construtor é uma rotina que é invocada quando uma instância de uma classe é criada. No VB.NET esta rotina precisa ter o nome New para identificar o construtor.

Considere o exemplo a seguir:

Public Class Aluno

   ......

   Public Sub New()

        _Datamatricula = DateTime.Now

   End Sub

 

End Class

-Ao lado temos a classe Aluno 

-A classe Aluno possui um construtor que atribui um valor para variável membro interna _DataMatricula.

- Sempre que você criar um objeto Aluno uma data de matricula padrão será atribuída automaticamente pelo construtor.

O construtor da classe Aluno é bem simples , mas podemos sofisticar ainda mais nosso construtor usando parâmetros e assim personalizar o nosso construtor. Vejamos :

Public Class Aluno

   ......

   Public Sub New(ByVal Nome As String , ByVal DataNascimento As String ,ByVal DataMatricula As Date)

       _Nome = Nome

       _Datamatricula = DataMatricula

       _DataNascimento = DataNascimento

   End Sub

 

End Class

No construtor acima podemos carregar informações em objeto Aluno de forma genérica em apenas uma linha de código definindo cada informação desejada. Ex:

Dim Macoratti As New Aluno("Macoratti", "05/10/75" , DateTime.Now)

- Instanciei o objeto Macoratti usando o construtor da classe Aluno

Podemos fazer ainda mais com construtores.

Podemos definir múltiplos construtores para um objeto. Desta forma você pode escolher qual construtor vai usar na hora de instanciar o objeto.

Mas atenção , cada construtor deverá possuir sua própria lista de parâmetros distinta dos demais , ou seja, cada construtor deverá possuir uma assinatura diferente. Veja o exemplo:

Public Class Aluno

   ......

   Public Sub New()

       _Datamatricula = DateTime.Now

   End Sub

 

   Public Sub New(ByVal Nome As String , ByVal DataNascimento As Date ,ByVal DataMatricula As Date)

       _Nome = Nome

       _Datamatricula = DataMatricula

       _DataNascimento = DataNascimento

   End Sub

 

   Public Sub New(ByVal Nome As String , ByVal Idade As Date )

       _Nome = Nome

       _DataNascimento = (DateTime.Now - Idade)

   End Sub

 

   Public Sub New(ByVal Nome As String , ByVal Endereco As String)

       _Nome = Nome

       _Endereco = Endereco

   End Sub

 

End Class

Temos acima 4 construtores sobrecarregados(métodos que possuem o mesmo nome mas argumentos diferentes) que permitem a você criar um objeto Aluno definindo todas as três informações  , apenas  duas ou uma delas. Pode até obter  a data de nascimento usando um parâmetro - Idade - fornecido ao construtor.

Esta técnica é muito usada e na própria plataforma .NET muitas classes tem diferentes construtores que lhe permite usar várias opções para obter informações.

Na plataforma .NET quando você cria um objeto que tem mais de um construtor é exibida uma lista de parâmetros do primeiro construtor.

E se você não criar nenhum construtor (você não é obrigado a fazer isto.) a sua classe terá o chamado construtor padrão que não requer nenhum argumento e nada faz. A partir do momento que você criar o seu construtor o construtor padrão não será mais gerado.

Resumindo:

Até o próximo conceito OOP em VB.NET...

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

 

             Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter
 

Referências:


José Carlos Macoratti