Anda di halaman 1dari 16

Classes em VBA/EXCEL

Prof. Wanderlei Silva do Carmo <wander.silva@gmail.com>

Objetivos
Apreender conceitos bsicos de programao orientada a objetos :
Abstrao
Encapsulamento Herana

Polimorfismo
Modificadores de acesso
Private

Protected
Friend Static

Classe
Uma classe um arquivo texto escrito utilizando uma linguagem de programao contendo instrues e comandos que definem atributos, propriedades e mtodos que daro origem a objetos. Dizemos que objetos so instancia de uma classe. Um objeto portanto criado a partir de uma instanciao de uma classe em memria. Uma mesma classe pode gerar vrios objetos para vrios propsitos e funcionalidades. Classes so cdigos armazenados.. Objetos so variveis que fazem referencias a endereos de memria. Em outras palavras: Uma classe descreve propriedades e comportamentos dos objetos que sero criados por ela.

Abstrao
O uso da abstrao na computao pode ser exemplificada da seguinte forma: Imagine que um determinado processamento realizado em vrios pontos de um sistema, da mesma forma ou de forma idntica. Ao invs de repetirmos o trecho de cdigo responsvel por este processamento, o abstramos na forma de um procedimento ou funo, e apenas fazemos uma chamada tal procedimento, onde quer que necessitemos e por quantas vezes se fizer necessrio.
(Fonte: http://pt.wikipedia.org/wiki/Abstrao) Em outras palavras para melhor entendimento: Abstrair isolar toda complexidade de uma ao ou objeto e pegar apenas o que nos interessa em um dado momento. Um exemplo: Quando fazemos uso de um forno Micro-ondas no precisamos saber detalhes tcnicos de seu funcionamento nem tampouco como foi construdo e ainda no precisamos saber de que forma ele far com que os alimentos sejam cozidos, assados, etc... Sabemos apenas que temos que apertar a tecla correspondente a ao que queremos. Da mesma forma em um software no precisamos saber como o programa executar as aes internamente, basta apenas que sabemos que ao clicar na opo desejada ele far e pronto!

Encapsulamento
Encapsulamento vem de encapsular, que em programao orientada a objetos significa separar o programa em partes, o mais isoladas possvel. A idia tornar o software mais flexvel, fcil de modificar e de criar novas implementaes. (http://pt.wikipedia.org/wiki/Encapsulamento) Em outras palavras: Vamos pensar na ideia de uma cpsula onde vamos colocar algo que no queremos que ningum veja ou saiba o que est guardado ali. Algumas informaes poderemos permitir que outros acessem, porm de Acesso controlado ao contedo forma controlada, tomando todo o cuidado de tratar Contedo protegido toda informao oriunda ou resultante de forma que protegido tudo seja protegido de aes indesejadas por parte de Objeto quem as usar.

Herana
Herana um princpio de orientao a objetos, que

permite que classes compartilhem atributos e mtodos, atravs de "heranas". Ela usada na inteno de reaproveitar cdigo ou comportamento generalizado ou especializar operaes ou atributos. O conceito de herana de vrias classes conhecido como herana mltipla. Como exemplo pode-se observar as classes 'aluno' e 'professor', onde ambas possuem atributos como nome, endereo e telefone. Nesse caso pode-se criar uma nova classe chamada por exemplo, 'pessoa', que contenha as semelhanas entre as duas classes, Gerente Um Exemplo: fazendo com que aluno e professor herdem as caractersticas deFuncionrio pessoa, desta maneira pode-se Vendedordizer que aluno e professor so subclasses de pessoa.
Motorista (http://pt.wikipedia.org/wiki/Herana_(programao)) Atributos comuns: codigo,nome,cpf,endereo,telefo ne,etc...

Polimorfismo
Na

programao orientada a objetos, o polimorfismo permite que referncias de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, possvel tratar vrios tipos de maneira homognea (atravs da interface do tipo mais abstrato). O termo polimorfismo originrio do grego e significa "muitas formas" (poli = muitas, morphos = formas). O polimorfismo caracterizado quando duas ou mais classes distintas tem mtodos de mesmo nome, de forma que uma funo possa utilizar um objeto de qualquer uma das classes polimrficas, sem necessidade de tratar de forma diferenciada conforme a classe do objeto.1 Em outras palavras: Uma das formas de implementar o polimorfismo atravs Podemos criar classes e mtodos abstratos, ou seja em declarados que nenhumamas de uma classe abstrata, cujos mtodos so implementao de seus mtodos sero feitos mas na classe que a os no so definidos, e atravs de nela classes queherdam herdar . Dessa formaclasse poderemos implementar tais mtodos de acordo com a mtodos desta abstrata. (wikipedia).
necessidade para o qual foi construda cachorr a subclasse. Emitir_som o Anima Exempo: l gato Emitir_som latido miado

Modificadores de Acesso
Em programao orientada a objetos, modificador de acesso, tambm chamado de viso de mtodo ou ainda viso de atributo, a palavra-chave que define um atributo, mtodo ou classe como pblico (ou public, qualquer classe pode ter acesso), privado (ou private, apenas os mtodos da prpria classe pode manipular o atributo) ou protegido (ou protected, pode ser acessado apenas pela prpria classe ou pelas suas subclasses). Geralmente, utiliza-se modificadores de acesso para privar os atributos do acesso direto (tornando-os privados) e implementa-se mtodos pblicos que acessam e alteram os atributos. Tal prtica pode ser chamada de encapsulamento. Mtodos privados geralmente so usados apenas por outros mtodos que so Em outras palavras: pblicos (e que podem ser chamados a partir de outro objeto) da mesma classe a fim de no repetir cdigo em mais de um mtodo. (wikipedia) Lembram-se do encapsulamento? Os atributos que no queremos expor ficam protegidos de forma que somente o objeto saiba deles. Para expor de forma controlada o acesso eles, usamos mtodos pblicos. comum usarmos os chamados mtodos get e set para respectivamente obter e alterar um determinado atributo. Em VB usamos suas propriedades para essa finalidade.

Na Prtica
Criando uma classe em VBA
1 - No Project Explorer, clique com o boto direito em cima do nome de seu projeto. Escolha inserir, mdulo de classe. 2- Agora vamos alterar o nome da classe na janela de propriedades. Na figura o nome foi alterado para Contato

Na Prtica
Criando uma classe em VBA - Continuando

Antes de comearmos a codificar devemos fazer um esboo da classe que iremos criar. Definir seus atributos e seus mtodos. Lembrando do encapsulamento, os atributos privados somente podem ser vistos pelo prprio objeto. Para expor estes atributos para o mundo externo deve-se ento usar mtodos pblicos. Os atributos privados so precedidos do sinal - e os atributos pblicos com o sinal + .

Declarao de atributos privados

As propriedades so a forma de se ter acesso de forma protegida aos atributos privados do objeto.

Get e Let
Estas instrues so utilizadas para obter ou alterar o valor de um determinado atributo. Pode-se por exemplo, testar e validar valores antes de alter-los ou mesmo incluir algum tipo de formatao de

Mtodos pblicos so visveis ao mundo externo.

Para instanciar uma classe, podemos usar o seguinte cdigo em um mdulo ou em rotinas de formulrios.

Um exemplo mais completo do uso de classes em VBA


Agora os botes chamaro mtodos do objeto MeuContato.

Mtodo Salvar do objeto

Usando orientao a objetos: Benefcios: Reaproveitamento de cdigo Cdigo mais enxuto Acoplamento baixo entre os mdulos Segurana.. entre outros.

FIM

Dvidas: E-Mail: wander.silva@gmail.com