Olá! Com essa série de artigos iremos decifrar temas básicos de Visual Basic, o poderoso compilador do Tio San!! Ops... Quer dizer do tio Bill!!
Coleções
Coleção é um tipo de dado especial, utilizado para armazenar um conjunto de objetos e organizá-los através de índices. Cada objeto dentro de uma coleção é tratado de forma exclusiva, portanto uma coleção pode armazenar mais de um tipo de objeto. Em hipótese alguma uma coleção armazenará dados numéricos ou strings, tal como as matrizes e vetores de dados, salvo quando este tipo de conteúdo estiver encapsulado em um objeto; o uso das coleções se limita aos objetos, apesar de apresentar a característica de indexar tal qual as matrizes e os vetores fazem com números ou strings.
A coleção apresenta métodos próprios, vemos:
Método Count:
Retorna a quantidade de objetos armazenados nesta coleção.
Método Add( Item, [Key], [Before], [After] ):
Adiciona um objeto à coleção.
* O parâmetro "Item" é o objeto que será adicionado à coleção.
* O parâmetro "Key" é uma identidade exclusiva para este objeto dentro da coleção, pode ser uma String, um nome para referenciar o objeto através dele.
* Os parâmetros "Before" e "After" induzem a alocação deste objeto em uma posição específica com referencial apontando um index ou a uma palavra "Key", ou seja, aloca o objeto antes ou depois do nome referenciado pelo parâmetro "Before" (Antes de... coloca a palavra "Key" ou o índice do objeto dentro da coleção) ou "After" (Depois de... coloca a palavra "Key" ou o índice do objeto dentro da coleção) respectivamente.
Método Remove( Index ):
Remove o objeto especificado pelo índice na coleção.
* O parâmetro "Index" pode ser um índice numérico ou uma palavra chave usada para referenciar o objeto.
Método Item( Index ):
Retorna o objeto especificado pelo índice.
* O parâmetro "Index" pode ser um índice numérico ou uma palavra chave usada para referenciar o objeto.
Com base no exposto acima, vamos tratar de um exemplo muito simples para compreendermos o uso das coleções:
Dim mObj as Object 'Declaramos uma variável do tipo Object para aceitar qualquer objeto genérico
Dim mCol as Collection 'Declaramos uma variável do tipo Collection que será a nossa coleção de objetos
Dim mQtd as Integer 'Declaramos uma variável do tipo Integer para armazenar a quantidade de objetos dentro da nossa coleção
Set mCol = New Collection 'Atribuímos uma nova coleção ao objeto Collection mCol
Set mObj = New ObjA 'Criamos um novo objeto do tipo ObjA dentro da variável mObj
mCol.Add mObj 'O adicionamos à nossa coleção, logo o primeiro elemento da coleção é um ObjA
'aqui a coleção estará assim | ObjA |
Set mObj = New ObjB 'Atribuímos o controle de um objeto do tipo ObjB à variável objeto mObj
mCol.Add mObj 'Adicionamos o objeto do tipo ObjB para a nossa coleção, portanto nossa coleção possui dois objetos armazenados
'aqui a coleção estará assim | ObjA | ObjB |
Set mObj = New ObjC 'Passamos o controle de um ObjC para mObj
mCol.Add mObj, "Obj3" 'Adicionamos o ObjC à nossa coleção atribuindo a ele uma identidade (Key de identificação) dentro da nossa coleção, desta maneira 'poderemos referenciá-lo, além de seu índice, através desta palavra chave "Obj3"
'aqui a coleção estará assim | ObjA | ObjB | ObjC - "Obj3" |
Set mObj = New ObjD 'Passamos o controle de um ObjD para mObj
mCol.Add mObj, "Obj4", "Obj3" 'Adicionamos o ObjD à nossa coleção atribuindo a ele uma identidade (Key de identificação), desta maneira poderemos referenciá-lo, além de 'seu índice, através desta palavra chave "Obj4"; ao mesmo tempo, posicionamos este objeto antes da posição de "Obj3"
'aqui a coleção estará assim | ObjA | ObjB | ObjD - "Obj4" | ObjC - "Obj3" |
Set mObj = New ObjE 'Passamos o controle de um ObjE para mObj
mCol.Add mObj, "Obj5", , "Obj4" 'Adicionamos o ObjE à nossa coleção atribuindo a ele uma identidade (Key de identificação), desta maneira poderemos referenciá-lo, além de 'seu índice, através desta palavra chave "Obj5"; ao mesmo tempo, posicionamos este objeto depois da posição de "Obj4"
'aqui a coleção estará assim | ObjA | ObjB | ObjE - "Obj5" | ObjD - "Obj4" | ObjC - "Obj3" |
mQtd = mCol.Count 'Logo após a execução desta linha mQtd irá conter a quantidade de elementos dentro da coleção totalizando 5.
mCol.Count
mCol.Item Index
mCol.Remove Index
Classes
Classe é um tipo de dado especial utilizado para declarar objetos.
A Classe define a arquitetura do objeto, nela encontramos os métodos, propriedades, outros objetos, e toda a funcionalidade que o objeto apresentará quando estiver funcionando no nosso código, realizando a tarefa a qual foi predestinada à ele.
Para construirmos um objeto, devemos antes determinar as ações que o mesmo tomará, visto que ele é uma entidade no código que possui tarefas predefinidas, desta maneira, devemos lidar com as classes para desenvolvermos o comportamento do objeto em nosso programa.