VB 2005 - Compreendendo Partial Classes


Dentre os inúmeros novos recursos disponíveis na nova versão da plataforma .NET esta o suporte para classes parciais ou partial class presentes nas linguagens VB.NET 2005 e C#.

Usando o conceito de partial class você pode dividir a definição de sua classe em mais de um arquivo físico.

Lembre-se que no VB.NET quando você vai definir uma classe você cria um arquivo com extensão .vb e ele irá conter a classe completa em um único arquivo; desta forma você inicia e termina a classe no mesmo arquivo físico. Ex: Classe1.vb

Usando o conceito de partial class você pode separar o código de uma classe em mais de um arquivo físico.

Logicamente não há diferença alguma para o compilador pois quando uma partial class é compilada o compilador agrupa todos os arquivos da classe parcial gerando uma única entidade.(O código da linguagem intermediária formado é o mesmo).

Para definir uma classe parcial basta usar a palavra-chave Partial. Vejamos um exemplo:

Public Class minhaClasseParcial

      Private idade as Integer
 
     Property _idade() As Integer
          Get
                return idade
          End Get
          Set(ByVal valor as Integer)
                idade = valor
          End Set
      End Property 
End Class
Partial Public Class MinhaClasseParcial

        Private idade as Integer

        Public Sub calculaIdade(Integer idade)

         'implementação do método

        End Sub

End Class         

minhaClasse.Propriedades.vb minhaClasse.Metodos.vb

Acima temos a definição de uma partial class em dois arquivos físicos distintos:

  1. minhaClasse.Propriedades.vb - Contém as propriedades da classe parcial
  2. minhaClasse.Metodos.vb - contém os métodos da classe parcial

Note que a palavra chave Partial somente é obrigatório a partir do segundo arquivo físico, pelo menos no VB.NET, já no C# ela é obrigatória também no primeiro arquivo.

Uma das vantagens em se utilizar as Partial Class é poder separar a lógica de negócio da interface de usuário em arquivos distintos facilitando a manutenção e o trabalho em equipe.

Algumas regras que devemos ter mente ao usar as classes parciais:

Vejamos onde a plataforma .NET usa o conceito de partial Class.

Se você criar um novo site web usando o Visual Web Developer ou o Visual Studio 2005 é comparar o código dos arquivos Default.aspx e Default.aspx.vb irá notar que o código gerado pelo VWD está no primeiro arquivo sendo que o código referente ao arquivo Default.aspx.vb será o código que você irá implementar. Isto será feito usando uma Partial Class. Veja na figura abaixo:

Código do arquivo Default.aspx.vb implementado como uma Partial Class

A seguir temos o código do arquivo Default.aspx gerado pelo VWD após a inclusão de uma caixa de texto no formulário.

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Untitled Page</title>

</head>

<body>

<form id="form1" runat="server">

<div>

&nbsp;<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></div>

</form>

</body>

</html>

 

Cabe a você o bom senso em aplicar o recurso de forma a torná-lo útil quando realmente for preciso.

Até o próximo artigo VB.NET 2005.


José Carlos Macoratti