Utilizando Classes no Visual Basic.NET

objetivo deste tutorial é mostrar como trabalhar com classes no VB.NET. Houveram algumas mudanças nesse conceito e esse tutorial explicará as principais ...

04/06/03h

Diminuir o tamanho das letras Aumentar o tamanho das letras

Microsoft .NET

O objetivo deste tutorial é mostrar como trabalhar com classes no VB.NET. Houveram algumas mudanças nesse conceito e esse tutorial explicará as principais.

Tendo em vista que trata-se de um assunto de programação avançada, o tutorial será desenvolvido presumindo que o leitor tenha bons conhecimentos de programação em Visual Basic nas versões anteriores da linguagem, pois trata-se de um tutorial de atualização de conhecimentos aonde serão apresentadas as mudanças no conceito de classes no VB.NET.

Softwares utilizados:
- Microsoft Visual Studio.NET 2003 Enterprise Architect (também conhecido como "Everett" ou versão 7.1) - Beta Final

Requisitos do sistema: (Para instalação completa)
- Processador Intel Pentium II /AMD K6-2 a partir de 450 Mhz (Pentium III/AMD Duron a partir de 600 Mhz recomendados)
- Memória RAM: 96 MB para Windows 2000 Pro (Recomendado 128 MB)
                       192 MB para Windows 2000 Server (Recomendado 256 MB)
                         96 MB para Windows XP Home (Recomendado 160 MB)
                       192 MB para Windows XP Pro (Recomendado 256 MB)
                       192 MB para Windows Server 2003 (Recomendado 256 MB)
- 4.1 GB no drive da instalação e 900 MB no drive do sistema
- Sistema Operacional: Windows 2000*, Windows XP ou Windows Server 2003
    Obs: É possível executar aplicações desenvolvidas com o VS.NET no Windows 98/Me/NT 4 mas não é possível desenvolver as aplicações nesses sistemas.
* o Windows 2000 Datacenter Server não é suportado.     
- Drive de CD-ROM ou DVD-ROM
- Placa de vídeo e monitor que suporte resolução de 800x600 e 256 cores (Recomendado High Color 16-Bit)
- Mouse

O que é uma Classe de código ?
Classes de código são componentes reutilizáveis que visam o aumento de produtividade e a produção de um código mais limpo e estruturado. As classes implementam funções desenvolvidas para um determinado fim e utilizam propriedades para manipular dados recebidos e retornados.

Elas visam tornar o desenvolvimento de uma aplicação em algo mais organizado, modularizando o desenvolvimento, como acontece por exemplo na fabricação de carros, onde primeiro desenvolvem-se componentes separadamente e depois eles são montados.

A idéia das classes é basicamente a mesma: separar o código em partes que tenham, por exemplo, funções comuns. O Visual Basic suporta o desenvolvimento de classes desde a versão 4.0.

Até o VB 6, as classes podiam ser formadas por Propriedades e Funções, sendo que as propriedades são usadas para armazenar os dados que a classe recebe e as funções manipulam esses dados e geralmente retornam valores. No Visual Basic.NET além dessas duas partes, foi também implantada a possibilidade de se ter classes dentro de outras classes, ou seja, classes aninhadas.

Nas versões anteriores as classes eram escritas em arquivos .CLS separados do restante do projeto e a partir do VB.NET é possível organizar as classes em arquivos separados, escrever tudo num arquivo só ou mesclar as duas coisas.

Houveram também algumas mudanças de sintaxe. Para explicar isso vamos criar um projeto no Visual Basic.NET e utilizar uma classe simples que possui as propriedades "PrimeiroNome", "NomeMeio", "UltimoNome" e "NomeCompleto", além de uma função "Montar". O objetivo é bem simples: a aplicação passa os valores "PrimeiroNome", "NomeMeio" e "UltimoNome" e ao ser chamada a função "Montar", a classe concatena esses valores e retorna a propriedade "NomeCompleto" :) ...

Abra o Visual Basic.NET e crie uma aplicação do tipo Windows Forms, como abaixo:


Novo Projeto - Windows Forms - Classes

Em Name digite "Classes" e clique em OK. Agora vamos montar nosso Form: coloque três componentes Label, três TextBox e um Button. Os nomes dos TextBox devem ser txtPrimeiroNome, txtNomeMeio e txtUltimoNome, o botão deve se chamar btnMontar. Veja como deve ficar seu form:


Layout do form

Agora vamos criar a classe: você pode escrevê-la no mesmo arquivo do form ou criar outro. Em nosso exemplo irei criar um arquivo separado, o que facilitaria caso essa classe fosse utilizada em outros projetos.

Para acessar a janela "Add New Item..." pressione as teclas "Ctrl+Shift+A", veja a janela abaixo:


Add New Item

Selecione o item "Class" e em Name digite "MontaNome.vb". Clique em "Open".

O Visual Studio.NET criará um arquivo contendo apenas o seguinte texto:

   Public Class MontaNome

   End Class    

Agora digite o seguinte código logo abaixo da expressão "Public Class MontaNome":

  Private vNomeCompleto As String
  Private vPrimeiroNome As String
  Private vNomeMeio As String
  Private vUltimoNome As String

  Public Property PrimeiroNome() As String
    Get
      PrimeiroNome = vPrimeiroNome
    End Get
    Set(ByVal Value As String)
      vPrimeiroNome = Value
    End Set
  End Property

  Public Property NomeMeio() As String
    Get
      NomeMeio = vNomeMeio
    End Get
    Set(ByVal Value As String)
      vNomeMeio = Value
    End Set
  End Property

  Public Property UltimoNome() As String
    Get
      UltimoNome = vUltimoNome
    End Get
    Set(ByVal Value As String)
      vUltimoNome = Value
    End Set
  End Property

  Public ReadOnly Property NomeCompleto() As String
    Get
      NomeCompleto = vNomeCompleto
    End Get
  End Property

  Public Function Montar()
    vNomeCompleto = vPrimeiroNome & " " & vNomeMeio & " " & vUltimoNome
  End Function

Salve o projeto pressionando "Ctrl+S" e a classe está criada. Agora vamos estudar algumas diferenças entre a sintaxe do Visual Basic 6 e esta nova sintaxe. Veja como seria o código desta classe no Visual Basic 6:

  Private vNomeCompleto As String
  Private Shared vPrimeiroNome As String
  Private Shared vNomeMeio As String
  Private Shared vUltimoNome As String

  Public Property Let PrimeiroNome(info As String)
    vPrimeiroNome = info
  End Property

  Public Property Get PrimeiroNome() As String
    PrimeiroNome = vPrimeiroNome
  End Property

  Public Property Let NomeMeio(info As String)
    vNomeMeio = info
  End Property

  Public Property Get NomeMeio() As String
    NomeMeio = vNomeMeio
  End Property

  Public Property Let UltimoNome(info As String)
    vUltimoNome = info
  End Property

  Public Property Get UltimoNome() As String
    UltimoNome = vUltimoNome
  End Property

  Public Property Get NomeCompleto() As String
    NomeCompleto = vNomeCompleto
  End Property

  Public Function Montar()
    vNomeCompleto = vPrimeiroNome & " " & vNomeMeio & " " & vUltimoNome
  End Function

  Public Class Inverso
    Public Shared vNomeInverso As String
    Public Shared Function Inverter()
      vNomeInverso = vUltimoNome & " " & vNomeMeio & " " & vPrimeiroNome
    End Function
  End Class

Veja que a estrutura da declaração das propriedades foi alterada, propiciando assim um código muito mais estruturado e compreensível. O "Property Let" também foi abolido: agora existem o "Property Get" para retornar um valor e o "Property Set" para atribuir um valor à propriedade. Perceba também que no código do VB.NET há um propriedade com o atributo "ReadOnly", que somente contém o "Property Get" pois nenhum valor pode ser atribuído a ela.

Note também que criamos uma classe "Inverso" dentro da classe "MontaNome" - o que mostra a possibilidade do aninhamento de classes, sendo que essa segunda classe inverte o nome. Note também que para que as variáveis "PrimeiroNome", "NomeMeio" e "UltimoNome" ficarem acessíveis foi preciso adicionar um modificador "Shared" nas declaração das mesmas: desta maneira elas ficam disponíveis em classes aninhadas (ou classes filhas), como também foi feito na variável "vNomeInverso" e na function "Inverter" da classe filha.

Agora vamos dar vida ao programa. Volte ao form e clique duas vezes no botão btnMontar e digite o seguinte código no evento bntMontar_Click:

  Dim oMontaNome As New MontaNome
  Dim NomeCompleto as String
  Dim NomeInverso as String

  oMontaNome.PrimeiroNome = txtPrimeiroNome.Text
  oMontaNome.NomeMeio = txtNomeMeio.Text
  oMontaNome.UltimoNome = txtUltimoNome.Text
  oMontaNome.Montar()
  oMontaNome.Inverso.Inverter()
  NomeCompleto = oMontaNome.NomeCompleto
  NomeInverso = oMontaNome.Inverso.vNomeInverso

  MsgBox(NomeCompleto & "-" & NomeInverso, MsgBoxStyle.Information, "Nome Completo") 'exibe uma mensagem com o nome completo

Pressione F5 para iniciar o programa: quando ele abrir digite os nomes nos TextBoxes e depois clique em "Montar".


Veja nas imagens:


Textbox preenchidos



Resultado após clique no botão bntMostrar


Conclusão
Com certeza as classes são fundamentais para ganhar produtividade no desenvolvimento de aplicações. A reutilização de classes poupa muito tempo e classes bem projetadas e desenvolvidas podem ser úteis em diversas aplicações e situações. Sobre a mudança na sintaxe das classes penso que não foi algo tão radical: na verdade as mudanças melhoraram muito o código, tornando-o mais fácil para entendimento e mais estruturado.

O recurso de aninhamento de classes também pode ser muito útil, e com certeza contribuirá para a reutilização de classes, com isso é possível separar tarefas diferentes dentro de classes aninhadas, além de inúmeras outras utilizações ;) ...


Marcas Registradas
Visual Basic.NET, Visual Studio.NET, Windows são marcas registradas da Microsoft Corporation.
Todos os demais nomes registrados, marcas registradas ou direitos de uso citados neste TM pertencem a seus respectivos proprietários.

 

Autor original:  ClawHammer
Direitos Autorais:  BABOO




imprima este artigo
envie este artigo via e-mail

 

Artigos relacionados


Mais Notícias desta Área

Últimas Notícias
 
 Software  |  Hardware  |  Segurança  |  Tecnologia  |  Tutoriais  |  Download  |  Web  | Desenvolvimento  |  Fórum 
 Mundo Corporativo  |  Carreira  |  Mercado  |  Telecom  |  Servidores  |  Tecnologia 
    BABOO é um site brasileiro de TI focado em informática, tecnologia, software,hardware, tutoriais e downloads, e soluções de dúvidas através do nosso fórum.

 

Artigos do BABOO