Programação orientada a objectos avançados
Criar uma nova classe
- No menu Project , clique
em Add Class.Na caixa de diálogo Add New
Item , digite class1.vb na caixa de texto nome e, em
seguida, clique em Abrir.
Observação No Visual Studio 2005, clique em Adicionar.Examine o código para a nova
classe na janela de visualização de código.
Definir campos e construtoresAdicione dois campos particulares
à classe class1 da seguinte forma:
2. Private Name As String
3. Private Stadium As String
Adicionar dois campos particulares
mais e fornecer valores de campo inicial da seguinte maneira:
5. Private Wins As Integer = 0
6. Private Defeats As Integer = 0
Adicione um construtor público
para a classe inicializar o nome da equipe e o Estádio:
8. Public Sub
New(ByVal Nm As String, ByVal St As String)
9. Name = Nm
10. Stadium =
St
11.End Sub
Propriedades
O modo mais simples de adicionar uma propriedade a uma classe é
criando uma variável dentro da classe e declarando-a como pública.
Exemplo: Public variável as string. Desta forma poderemos
atribuir valores à variável em qualquer parte do código da aplicação.
Mas este não é o modo mais correto e usual de se criar uma propriedade.
Costumamos querer que as propriedades de nossos objetos sejam acessadas
de modo controlado pelo próprio objeto. Isto é, queremos poder definir,
por exemplo, que uma propriedade é somente para leitura ou ter a
garantia de que os valores atribuídos a ela se situam dentro de uma
determinada faixa. A forma que usamos para conseguir isto e a criação
dos procedimentos de propriedade. Procedimentos de propriedade
são procedimentos usados para se ter acesso ao valor de uma variável
interna à classe usada para guardar o valor de uma propriedade. Os
procedimentos de propriedade se dividem em dois tipos: procedimentos de
leitura do valor da propriedade e procedimentos de atribuição de valor à
propriedade. Nos procedimentos de leitura inserimos o código que
retorna o valor da variável usada para guardar o valor da propriedade no
interior da classe. Nos procedimentos de atribuição de valor inserimos o
código responsável pela atribuição de valor e - se for o caso -
validação do valor que se está tentando atribuir à propriedade. Caso
queiramos que uma propriedade seja apenas de leitura, não criaremos
procedimentos de atribuição de valores a ela. Qualquer tentativa de
atribuir valor a uma propriedade que não tenha uma procedimento para
atribuição gerará uma erro.
A criação dos procedimentos de propriedades seguem determinadas
regras. Os procedimentos usados para retornar o valor da propriedade têm
o seu nome composto pela palavra Get seguida de um caracter de
sublinhado ( _ ) e pelo nome da propriedade. Estes procedimentos
retornam um valor do tipo de dados da variável que armazena o valor da
propriedade. Os procedimentos de atribuição têm seus nomes formados pela
palavra Let ou Set seguida de um caractere de sublinhado (
_ ) e do nome da propriedade. Estes procedimentos recebem como
argumento o novo valor que se quer atribuir à propriedade. A seguir
exibimos a sintaxe de criação desses procedimentos.
Métodos
Os métodos nada mais são do que os procedimentos e funções
públicos de uma classe. Para chamar um método de fora do código da
classe, basta usar o nome do objeto seguido de um ponto e do nome do
método. Exemplo: Form1.Show; esta instrução faz com que o método Show do objeto Form1 seja executado.
Os métodos de uma classe têm acesso às variáveis privadas da classe.
Eventos
Como já foi dito acima, eventos são procedimentos chamados por um
objeto em um outro objeto que o contém como resposta a um acontecimento
que lhe ocorre. Os eventos podem ser disparados pelo próprio objeto em
alguma parte do seu código utilizando-se da instrução RaiseEvent. Pode-se
também utilizar o artifício de criar um método só para disparar um
evento dentro do objeto. Um método assim seria chamado de fora do objeto
para disparar o evento no seu interior.
Para definir um evento dentro de uma classe não se cria um
procedimento de evento dentro do módulo da classe. O que se faz é usar a
instrução Event para atribuir um nome ao evento e definir sua
lista de argumentos, ou seja, as informações que serão passadas ao
procedimento de tratamento do evento. Este procedimento sim será
codificado dentro do objeto que contenha o objeto disparador do evento
caso se queira tratar o evento. Veja como é a sintaxe da instrução Event.
Observação No Visual Studio 2005, clique em Adicionar.Examine o código para a nova classe na janela de visualização de código.
St
Propriedades
O modo mais simples de adicionar uma propriedade a uma classe é criando uma variável dentro da classe e declarando-a como pública. Exemplo: Public variável as string. Desta forma poderemos atribuir valores à variável em qualquer parte do código da aplicação. Mas este não é o modo mais correto e usual de se criar uma propriedade. Costumamos querer que as propriedades de nossos objetos sejam acessadas de modo controlado pelo próprio objeto. Isto é, queremos poder definir, por exemplo, que uma propriedade é somente para leitura ou ter a garantia de que os valores atribuídos a ela se situam dentro de uma determinada faixa. A forma que usamos para conseguir isto e a criação dos procedimentos de propriedade. Procedimentos de propriedade são procedimentos usados para se ter acesso ao valor de uma variável interna à classe usada para guardar o valor de uma propriedade. Os procedimentos de propriedade se dividem em dois tipos: procedimentos de leitura do valor da propriedade e procedimentos de atribuição de valor à propriedade. Nos procedimentos de leitura inserimos o código que retorna o valor da variável usada para guardar o valor da propriedade no interior da classe. Nos procedimentos de atribuição de valor inserimos o código responsável pela atribuição de valor e - se for o caso - validação do valor que se está tentando atribuir à propriedade. Caso queiramos que uma propriedade seja apenas de leitura, não criaremos procedimentos de atribuição de valores a ela. Qualquer tentativa de atribuir valor a uma propriedade que não tenha uma procedimento para atribuição gerará uma erro.
A criação dos procedimentos de propriedades seguem determinadas regras. Os procedimentos usados para retornar o valor da propriedade têm o seu nome composto pela palavra Get seguida de um caracter de sublinhado ( _ ) e pelo nome da propriedade. Estes procedimentos retornam um valor do tipo de dados da variável que armazena o valor da propriedade. Os procedimentos de atribuição têm seus nomes formados pela palavra Let ou Set seguida de um caractere de sublinhado ( _ ) e do nome da propriedade. Estes procedimentos recebem como argumento o novo valor que se quer atribuir à propriedade. A seguir exibimos a sintaxe de criação desses procedimentos.
Métodos
Os métodos nada mais são do que os procedimentos e funções públicos de uma classe. Para chamar um método de fora do código da classe, basta usar o nome do objeto seguido de um ponto e do nome do método. Exemplo: Form1.Show; esta instrução faz com que o método Show do objeto Form1 seja executado.
Os métodos de uma classe têm acesso às variáveis privadas da classe.
Eventos
Como já foi dito acima, eventos são procedimentos chamados por um objeto em um outro objeto que o contém como resposta a um acontecimento que lhe ocorre. Os eventos podem ser disparados pelo próprio objeto em alguma parte do seu código utilizando-se da instrução RaiseEvent. Pode-se também utilizar o artifício de criar um método só para disparar um evento dentro do objeto. Um método assim seria chamado de fora do objeto para disparar o evento no seu interior.
Para definir um evento dentro de uma classe não se cria um procedimento de evento dentro do módulo da classe. O que se faz é usar a instrução Event para atribuir um nome ao evento e definir sua lista de argumentos, ou seja, as informações que serão passadas ao procedimento de tratamento do evento. Este procedimento sim será codificado dentro do objeto que contenha o objeto disparador do evento caso se queira tratar o evento. Veja como é a sintaxe da instrução Event.