Clique aqui para ler todos os artigos desta edição
Trabalhando com Collections
por Thiago J. Mônaco
Este artigo discute |
Este artigo usa as seguintes tecnologias: |
· Criação de Collections · Vantagens de uso de Collections |
VB.NET, C# Download: Fonte_Collections.zip (18KB) |
Chapéu Collections |
|
Quando trabalhamos com qualquer tipo de aplicação nos deparamos com a necessidade de manipular objetos semelhantes ou até mesmo que tratam de um mesmo assunto. O objetivo desse artigo é mostrar como trabalhar com Collections nas aplicações, e desta forma facilitar e organizar os objetos.
O que são Collections e suas Vantagens
Collections é uma maneira estruturada de agrupar e gerenciar objetos de tipos semelhantes. Podemos agrupar e gerenciar objetos de qualquer tipo em uma Collection do tipo Object e assim, passamos a utilizar as vantagens de se trabalhar com esta estrutura. É claro que uma Collection deste tipo faz com que tenhamos um processamento adicional para cada elemento existente, pois será necessário realizar as conversões de tipos de dados que acabam afetando a performance da Collection.
Também é possível trabalharmos com Collections tipadas, garantindo uma melhor performance da aplicação. Esse tipo de Collection trás grandes vantagens, pois trabalham diretamente com os tipos de dados desejado. Assim, a própria Collection se encarregará de fazer a validação de tipo para cada elemento adicionado a mesma. Alguns exemplos de Collections tipadas podem ser encontradas no namespace System.Collections.Specialized.
Onde utilizar Collections
Existem diversas situações para se trabalhar com Collections. Basicamente podemos utilizá-las sempre que desejemos agrupar determinados objetos para facilitar o gerenciamento. Muitas vezes acabamos trabalhando com Collections e nem percebemos isso. Alguns exemplos clássicos são:
· Collections contendo os controles existentes em um Windows Forms. Pode ser acessada através de Me.Controls (Visual Basic .NET) ou this.Controls (C#);
· Collections contendo as DataTables existentes em um DataSet; acessível em myDataSet.Tables;
· Collections contendo os DataRows existentes em uma DataTable; myDataSet.Tables(“myTable”).Rows (Visual Basic .NET) ou myDataSet.Tables[“myTable”].Rows (C#).
É claro que apesar do .NET Framework fornecer uma quantidade enorme de Collections pré-definidas, podemos encontrar determinada situação onde necessitamos de uma Collection customizada.
Criando Collections customizadas
Imagine que em determinado ponto da aplicação é preciso manipular informações de Funcionários de uma empresa. Como primeira solução pensaremos em utilizar um DataSet para fazer este agrupamento e manipulação. No entanto, mostrarei como criar a Collection customizada para realizar este trabalho.
Abra o Visual Studio .NET, selecione File / New Project, selecione a liguagem de programação desejada e crie um projeto do tipo Windows Application chamado myCollection. Defina o diretório onde o projeto será criado e clique em OK para criar a aplicação.
Crie uma classe que conterá a estrutura para manipular os dados do Funcionário. Abra o Solution Explorer (CTRL + ALT + L), clique com o botão direito no projeto e selecione a opção Add / Add Class. Nomeie-o como clsFuncionario.vb ou clsFuncionario.cs de acordo com a liguagem escolhida e clique no botão Open. Codifique a classe clsFuncionario de acordo com a Listagem 1. Note a implementação do recurso de definição de propriedades de leitura e escrita, realizada através da utilização de Get/Set. Este recurso permite recuperar ou definir o valor de determinada variável ou objeto. Sua utilização ocorre da seguinte maneira: Caso a propriedade seja atribuida a determinada variável/objeto, é automaticamente disparado o Get da propriedade, retornando assim o valor armazenado. Caso uma variável/objeto seja atribuída a determinada propriedade, é executado o Set, fazendo com que o valor seja alterado.
Listagem 1. Codificando a classe clsFuncionario
Visual Basic .NET
Public Class clsFuncionario
...