Usando coleções para gerenciar vários objetos
Nesta lição, você aprenderá a usar uma coleção para gerenciar grupos de objetos.
Numa lição anterior, você aprendeu como usar matrizes para gerenciar grupos de variáveis.Enquanto você usava matrizes para gerenciar grupos de objetos, o Visual Basic também tem um tipo especial de objeto denominado uma coleção que pode ser usada para armazenar e recuperar grupos de objetos semelhantes.
Como numa matriz, cada item em um objeto Collection possui um índice que pode ser usado para identificar o item.Além disso, cada item em um objeto Collection possui uma chave, um valor String que pode ser usado para identificar o item.A vantagem de usar uma chave é que você não precisará se lembrar do índice de um item; em vez disso, você pode consultá-lo usando um nome significativo.
Criando uma coleção
Coleções são úteis quando seu programa usa várias instâncias da mesma classe.Por exemplo, olhe a classe Players que você criou na lição anterior.É provável que você precise de vários objetos Players para representar uma equipe de beisebol.
A primeira etapa na criação de uma coleção é criar uma instância de um objeto Collection, conforme mostrado na seguinte declaração.
Dim baseballTeam As New Collection
Depois de criar o objeto Collection, você pode usar o método Add para adicionar itens a ele e o método Remove para excluir os itens.Ao adicionar itens, primeiro especifique o item para adicionar e em seguida, especifique o valor String a ser usado como uma chave.
baseballTeam.Add(playerObject, "Player's Name")
Ao remover um item, use a chave para especificar o item a ser removido.
baseballTeam.Remove("Player's Name")
No procedimento a seguir, você adicionará dois novos objetos Players e, em seguida, criará uma coleção team e adicionará os objetos Players, usando a propriedade Position como uma chave.
Tente-o!
Para criar uma coleção de objetos
Abra o projeto Persons que você criou na lição anterior.Se você não o salvou, volte para Criando uma classe a partir de uma classe existente: Usando herança e conclua os procedimentos.
No Solution Explorer, no projeto PlayerTest, selecione o nó Form1.vb e em seguida, no menu View, escolha Code.
No Editor de Códigos, adicione o seguinte à seção de declarações (abaixo da declaração de player2).
Dim player3 As New Persons.Players Dim player4 As New Persons.Players Dim team As New Collection
No procedimento do evento Form1_Load, adicione o código a seguir.
With player3 .FirstName = "Eduardo" .LastName = "Saavedra" .Number = 52 .Position = "First Base" End With With player4 .FirstName = "Karl" .LastName = "Jablonski" .Number = 22 .Position = "Pitcher" End With team.Add(player1, player1.Position) team.Add(player2, player2.Position) team.Add(player3, player3.Position) team.Add(player4, player4.Position)
No Solution Explorer, no projeto PlayerTest, selecione o nó Form1.vb.Em seguida, no menu View, escolha Designer.
Na Caixa de Ferramentas, arraste um controle ComboBox para o formulário.
Na janela Properties, selecione a propriedade Items e clique no botão ….
Em String Collection Editor, digite o seguinte e em seguida, clique em OK.
Catcher
First Base
Pitcher
Shortstop
Clique duas vezes no controle ComboBox para abrir o Editor de Código e em seguida, insira o código a seguir no manipulador de eventos ComboBox1_SelectedIndexChanged.
Dim SelectedPlayer As Persons.Players SelectedPlayer = team(ComboBox1.SelectedItem) MsgBox("Playing " & ComboBox1.SelectedItem & " is " & _ SelectedPlayer.FullName & "!")
Pressione F5 para executar a página.Selecione uma posição da lista suspensa. O jogador para essa posição é exibido em uma caixa de mensagem.
Próximas etapas
Nesta lição, você aprendeu a usar um objeto Collection para gerenciar um grupo de objetos.Neste ponto, você poderá aprender mais sobre coleções em Examinar mais detalhadamente: Usando um for each... Next repetir um conjunto de, ou ir para o próximo grupo de lições e aprender como criar seus próprios controles.
Próxima Lesson: Objetos visíveis: Criando seu primeiro controle de usuário
Consulte também
Tarefas
Examinar mais detalhadamente: Usando um for each... Next repetir um conjunto de
Examinar mais detalhadamente: Substituindo membros
Criando uma classe a partir de uma classe existente: Usando herança
Conceitos
Coleção de Classes do Visual Basic