Classes em VBA/EXCEL
Wanderlei Silva do Carmo
<wander.silva@gmail.com>
Objetivos
Apreender conceitos básicos de programação orientada a
objetos :
Abstração
Encapsulamento
Herança
Polimorfismo
Modificadores de acesso
Private
Protected
Friend
Static
Classe
Uma classe é um arquivo texto escrito utilizando uma linguagem
de programação contendo instruções e comandos que definem
atributos, propriedades e métodos que darão origem a objetos.
Dizemos que objetos são instancia de uma classe.
Um objeto portanto é criado a partir de uma instanciação de uma
classe em memória. Uma mesma classe pode gerar vários
objetos para vários propósitos e funcionalidades.
Classes são códigos armazenados..
Objetos são variáveis que fazem referencias a endereços de
memória.
Em outras palavras:
Uma classe descreve propriedades e comportamentos dos
objetos que serão criados por ela.
Abstração
O uso da abstração na computação pode ser exemplificada da seguinte forma:
Imagine que um determinado processamento é realizado em vários pontos de
um sistema, da mesma forma ou de forma idêntica. Ao invés de repetirmos o
trecho de código responsável por este processamento, o abstraímos na forma
de um procedimento ou função, e apenas fazemos uma chamada à tal
procedimento, onde quer que necessitemos e por quantas vezes se fizer
necessário.
(Fonte: http://pt.wikipedia.org/wiki/Abstração)
Em outras palavras para melhor entendimento:
Abstrair é isolar toda complexidade de uma ação ou objeto e pegar apenas o que nos interessa em um
dado momento.
Um exemplo:
Quando fazemos uso de um forno Micro-ondas não precisamos saber detalhes técnicos de seu
funcionamento nem tampouco como foi construído e ainda não 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 ação que queremos. Da mesma forma em um software não precisamos saber
como o programa executará as ações internamente, basta apenas que sabemos que ao clicar na
opção desejada ele fará e pronto!
Encapsulamento
Encapsulamento vem de encapsular, que em
programação orientada a objetos significa separar o programa em partes,
o mais isoladas possível. A idéia é tornar o software mais flexível, fácil de
modificar e de criar novas implementações. (http://
pt.wikipedia.org/wiki/Encapsulamento)
Em outras palavras:
Vamos pensar na ideia de uma cápsula onde vamos colocar algo que não
queremos que ninguém veja ou saiba o que está guardado ali. Algumas
informações poderemos permitir que outros acessem, porém de forma
controlada, tomando todo o cuidado de tratar toda informação oriunda ou
resultante de forma que tudo seja protegido de ações indesejadas por parte de
quem as usar.
Um exemplo:
Conteúdo protegido
Acesso controlado ao
conteúdo protegido
Objeto
Herança
Herança é um princípio de orientação a objetos, que permite que
classes compartilhem atributos e métodos, através de "heranças".
Ela é usada na intenção de reaproveitar código ou comportamento
generalizado ou especializar operações ou atributos. O conceito de
herança de várias classes é conhecido como herança múltipla.
Como exemplo pode-se observar as classes 'aluno' e 'professor',
onde ambas possuem atributos como nome, endereço e telefone.
Nesse caso pode-se criar uma nova classe chamada por exemplo,
'pessoa', que contenha as semelhanças entre as duas classes,
fazendo com que aluno e professor herdem as características de
pessoa, desta maneira pode-se dizer que aluno e professor são
subclasses de pessoa.
(http://pt.wikipedia.org/wiki/Herança_(programação) )
Um Exemplo:
Funcionário
Gerente
Vendedor
Motorista
Atributos comuns:
codigo,nome,cpf,endereço,telefone,etc...
Polimorfismo
Na programação orientada a objetos, o polimorfismo permite que referências
de tipos de classes mais abstratas representem o comportamento das classes
concretas que referenciam. Assim, é possível tratar vários tipos de maneira
homogênea (através da interface do tipo mais abstrato). O
termo polimorfismo é originário do grego e significa "muitas formas" (poli =
muitas, morphos = formas).
O polimorfismo é caracterizado quando duas ou mais classes distintas tem
métodos de mesmo nome, de forma que uma função possa utilizar um objeto de
qualquer uma das classes polimórficas, sem necessidade de tratar de forma
diferenciada conforme a classe do objeto.1
Uma das formas de implementar o polimorfismo é através de uma classe
abstrata, cujos métodos são declarados mas não são definidos, e através de
classes queherdam os métodos desta classe abstrata. (wikipedia).
Em outras palavras:
Podemos criar classes e métodos abstratos, ou seja em que nenhuma implementação
de seus métodos serão feitos nela mas na classe que a herdar . Dessa forma
poderemos implementar tais métodos de acordo com a necessidade para o qual foi
construída a subclasse.
Exempo:
Animal
cachorro
gato
Emitir_som
Emitir_som
latido
miado
Em programação orientada a objetos, modificador de acesso, também
chamado de visão de método ou ainda visão de atributo, é a palavra-chave
que define um atributo, método ou classe como público (ou public, qualquer
classe pode ter acesso), privado (ou private, apenas os métodos da própria
classe pode manipular o atributo) ou protegido (ou protected, pode ser
acessado apenas pela própria classe ou pelas suas subclasses).
Geralmente, utiliza-se modificadores de acesso para privar os atributos do
acesso direto (tornando-os privados) e implementa-se métodos públicos que
acessam e alteram os atributos. Tal prática pode ser chamada de
encapsulamento.
Em outras palavras:
Métodos privados geralmente são usados apenas por outros métodos que são
públicos (e que podem ser chamados a partir de outro objeto) da mesma classe
a fim de não repetir código em mais de um método. (wikipedia)
Modificadores de Acesso
Lembram-se do encapsulamento?
Os atributos que não queremos expor ficam protegidos de forma que somente o objeto
saiba deles. Para expor de forma controlada o acesso à eles, usamos métodos
públicos. É comum usarmos os chamados métodos get e set para respectivamente obter
e alterar um determinado atributo. Em VB usamos suas propriedades para essa
finalidade.
Na Prática
Criando uma classe em VBA
1 - No Project Explorer,
clique com o botão
direito em cima do
nome de seu projeto.
Escolha inserir, módulo
de classe.
2- Agora vamos alterar o nome
da classe na janela de
propriedades. Na figura o nome
foi alterado para “Contato”
Na Prática
Criando uma classe em VBA - Continuando
Antes de começarmos a codificar
devemos fazer um “esboço” da classe
que iremos criar.
Definir seus atributos e seus métodos.
Lembrando do encapsulamento, os
atributos privados somente podem ser
vistos pelo próprio objeto.
Para expor estes atributos para o mundo
externo deve-se então usar métodos
públicos.
Antes de começarmos a codificar
devemos fazer um “esboço” da classe
que iremos criar.
Definir seus atributos e seus métodos.
Lembrando do encapsulamento, os
atributos privados somente podem ser
vistos pelo próprio objeto.
Para expor estes atributos para o mundo
externo deve-se então usar métodos
públicos.
Os atributos privados são precedidos do sinal
“-” e os atributos públicos com o sinal “+” .
Os atributos privados são precedidos do sinal
“-” e os atributos públicos com o sinal “+” .
As propriedades são a forma de se ter
acesso de forma protegida aos atributos
privados do objeto.
As propriedades são a forma de se ter
acesso de forma protegida aos atributos
privados do objeto.
Declaração de atributos privadosDeclaração de atributos privados
Get e Let –
Estas instruções são 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 formatação de saída.
Get e Let –
Estas instruções são 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 formatação de saída.
Para instanciar uma classe, podemos usar o
seguinte código em um módulo ou em rotinas de
formulários.
Para instanciar uma classe, podemos usar o
seguinte código em um módulo ou em rotinas de
formulários.
Métodos públicos são visíveis ao mundo
externo.
Métodos públicos são visíveis ao mundo
externo.
Um exemplo mais completo do uso de classes em VBAUm exemplo mais completo do uso de classes em VBA
Agora os botões chamarão
métodos do objeto MeuContato.
Agora os botões chamarão
métodos do objeto MeuContato.
Método Salvar do objetoMétodo Salvar do objeto
Usando orientação a objetos:
Benefícios:
Reaproveitamento de código
Código mais enxuto
Acoplamento baixo entre os módulos
Segurança.. entre outros.
FIMFIM
Dúvidas:
E-Mail: wander.silva@gmail.com

Mais conteúdo relacionado

PDF
(2022.1) Código Penal.pdf
PDF
Manual de visio 2013 (jm)
PDF
Procedimentos de auditoria amostragem 2016
PDF
PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO CORNETEIRO E C...
PDF
Excel VBA: Aula 12
PDF
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
PDF
Excel VBA: Aula 11
PPT
Excel comandos avançados
(2022.1) Código Penal.pdf
Manual de visio 2013 (jm)
Procedimentos de auditoria amostragem 2016
PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO CORNETEIRO E C...
Excel VBA: Aula 12
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
Excel VBA: Aula 11
Excel comandos avançados

Destaque (20)

PDF
Curso completo de excel
PDF
Manual de produtos quimicos
PDF
Apostila curso emergencias_quim
PDF
Banco de dados i
ODP
Mini aula de teste de software
PDF
Mini aula-java
PPSX
Desenvolvimento para Windows Mobile
PDF
Vagrant uma ferramenta realmente útil e versátil
PDF
Mini aula-java
ODP
Programação de computadores
ODP
Apresentação programação de computadores
PPT
Mini aula-java
PDF
Web Designer - O Arquiteto da Informação
PDF
Twitter Chat
PDF
Web (design+developer)
ODP
Mini aula análise de requisitos
PDF
Segurança de código
PDF
Excel VBA: Aula 8
PPTX
Curso Microsoft Excel Specialist
PDF
Manual Básico de Operações com Produtos Perigosos
Curso completo de excel
Manual de produtos quimicos
Apostila curso emergencias_quim
Banco de dados i
Mini aula de teste de software
Mini aula-java
Desenvolvimento para Windows Mobile
Vagrant uma ferramenta realmente útil e versátil
Mini aula-java
Programação de computadores
Apresentação programação de computadores
Mini aula-java
Web Designer - O Arquiteto da Informação
Twitter Chat
Web (design+developer)
Mini aula análise de requisitos
Segurança de código
Excel VBA: Aula 8
Curso Microsoft Excel Specialist
Manual Básico de Operações com Produtos Perigosos
Anúncio

Semelhante a Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba (20)

PDF
Aula 09 - introducao oo
PPT
Java Básico :: Orientação a objetos
PDF
Aula 3 -_fundamentos_sobre_aoo
PPTX
Curso de Java 4 - (Orientação a Objetos).pptx
PDF
03 poo
PDF
03 - Orientação a objetos e classes em C# v1.0
PPT
Curso : Introdução Orientação a Objetos
PPT
Programação Orientada a Objeto(POO)
PPTX
3.1 orientação objetos
PPTX
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
PPTX
Programação Orientado a Objetos
PDF
Programação OO - Java
PDF
encapsulamento-heranca-e-polimorfismo.pdf
PPTX
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
ODP
Paradigma Orientado a Objeto
PPT
Java Básico - Módulo 07: Introdução à programação orientada à objetos
PPTX
Módulo 9 - Introdução à Programação Orientada a Objectos
PPT
2006 - ConceitosDeOrientaçãoObjeto.ppt
PPT
Apresentação programação orientada à objetos
PDF
02 - Orientação a objetos e revisão de C# v1.5
Aula 09 - introducao oo
Java Básico :: Orientação a objetos
Aula 3 -_fundamentos_sobre_aoo
Curso de Java 4 - (Orientação a Objetos).pptx
03 poo
03 - Orientação a objetos e classes em C# v1.0
Curso : Introdução Orientação a Objetos
Programação Orientada a Objeto(POO)
3.1 orientação objetos
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
Programação Orientado a Objetos
Programação OO - Java
encapsulamento-heranca-e-polimorfismo.pdf
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Paradigma Orientado a Objeto
Java Básico - Módulo 07: Introdução à programação orientada à objetos
Módulo 9 - Introdução à Programação Orientada a Objectos
2006 - ConceitosDeOrientaçãoObjeto.ppt
Apresentação programação orientada à objetos
02 - Orientação a objetos e revisão de C# v1.5
Anúncio

Mais de Wanderlei Silva do Carmo (6)

PDF
HTML Básico - Programador web
PPSX
Desenvolvimento IOS - Mobile
PDF
PDF
Curso gratuitoshellscript nivel-2
PDF
Curso Gratuito de Shell Script
PPTX
Operadores lógicos
HTML Básico - Programador web
Desenvolvimento IOS - Mobile
Curso gratuitoshellscript nivel-2
Curso Gratuito de Shell Script
Operadores lógicos

Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba

  • 2. Objetivos Apreender conceitos básicos de programação orientada a objetos : Abstração Encapsulamento Herança Polimorfismo Modificadores de acesso Private Protected Friend Static
  • 3. Classe Uma classe é um arquivo texto escrito utilizando uma linguagem de programação contendo instruções e comandos que definem atributos, propriedades e métodos que darão origem a objetos. Dizemos que objetos são instancia de uma classe. Um objeto portanto é criado a partir de uma instanciação de uma classe em memória. Uma mesma classe pode gerar vários objetos para vários propósitos e funcionalidades. Classes são códigos armazenados.. Objetos são variáveis que fazem referencias a endereços de memória. Em outras palavras: Uma classe descreve propriedades e comportamentos dos objetos que serão criados por ela.
  • 4. Abstração O uso da abstração na computação pode ser exemplificada da seguinte forma: Imagine que um determinado processamento é realizado em vários pontos de um sistema, da mesma forma ou de forma idêntica. Ao invés de repetirmos o trecho de código responsável por este processamento, o abstraímos na forma de um procedimento ou função, e apenas fazemos uma chamada à tal procedimento, onde quer que necessitemos e por quantas vezes se fizer necessário. (Fonte: http://pt.wikipedia.org/wiki/Abstração) Em outras palavras para melhor entendimento: Abstrair é isolar toda complexidade de uma ação ou objeto e pegar apenas o que nos interessa em um dado momento. Um exemplo: Quando fazemos uso de um forno Micro-ondas não precisamos saber detalhes técnicos de seu funcionamento nem tampouco como foi construído e ainda não 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 ação que queremos. Da mesma forma em um software não precisamos saber como o programa executará as ações internamente, basta apenas que sabemos que ao clicar na opção desejada ele fará e pronto!
  • 5. Encapsulamento Encapsulamento vem de encapsular, que em programação orientada a objetos significa separar o programa em partes, o mais isoladas possível. A idéia é tornar o software mais flexível, fácil de modificar e de criar novas implementações. (http:// pt.wikipedia.org/wiki/Encapsulamento) Em outras palavras: Vamos pensar na ideia de uma cápsula onde vamos colocar algo que não queremos que ninguém veja ou saiba o que está guardado ali. Algumas informações poderemos permitir que outros acessem, porém de forma controlada, tomando todo o cuidado de tratar toda informação oriunda ou resultante de forma que tudo seja protegido de ações indesejadas por parte de quem as usar. Um exemplo: Conteúdo protegido Acesso controlado ao conteúdo protegido Objeto
  • 6. Herança Herança é um princípio de orientação a objetos, que permite que classes compartilhem atributos e métodos, através de "heranças". Ela é usada na intenção de reaproveitar código ou comportamento generalizado ou especializar operações ou atributos. O conceito de herança de várias classes é conhecido como herança múltipla. Como exemplo pode-se observar as classes 'aluno' e 'professor', onde ambas possuem atributos como nome, endereço e telefone. Nesse caso pode-se criar uma nova classe chamada por exemplo, 'pessoa', que contenha as semelhanças entre as duas classes, fazendo com que aluno e professor herdem as características de pessoa, desta maneira pode-se dizer que aluno e professor são subclasses de pessoa. (http://pt.wikipedia.org/wiki/Herança_(programação) ) Um Exemplo: Funcionário Gerente Vendedor Motorista Atributos comuns: codigo,nome,cpf,endereço,telefone,etc...
  • 7. Polimorfismo Na programação orientada a objetos, o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, é possível tratar vários tipos de maneira homogênea (através da interface do tipo mais abstrato). O termo polimorfismo é originário do grego e significa "muitas formas" (poli = muitas, morphos = formas). O polimorfismo é caracterizado quando duas ou mais classes distintas tem métodos de mesmo nome, de forma que uma função possa utilizar um objeto de qualquer uma das classes polimórficas, sem necessidade de tratar de forma diferenciada conforme a classe do objeto.1 Uma das formas de implementar o polimorfismo é através de uma classe abstrata, cujos métodos são declarados mas não são definidos, e através de classes queherdam os métodos desta classe abstrata. (wikipedia). Em outras palavras: Podemos criar classes e métodos abstratos, ou seja em que nenhuma implementação de seus métodos serão feitos nela mas na classe que a herdar . Dessa forma poderemos implementar tais métodos de acordo com a necessidade para o qual foi construída a subclasse. Exempo: Animal cachorro gato Emitir_som Emitir_som latido miado
  • 8. Em programação orientada a objetos, modificador de acesso, também chamado de visão de método ou ainda visão de atributo, é a palavra-chave que define um atributo, método ou classe como público (ou public, qualquer classe pode ter acesso), privado (ou private, apenas os métodos da própria classe pode manipular o atributo) ou protegido (ou protected, pode ser acessado apenas pela própria classe ou pelas suas subclasses). Geralmente, utiliza-se modificadores de acesso para privar os atributos do acesso direto (tornando-os privados) e implementa-se métodos públicos que acessam e alteram os atributos. Tal prática pode ser chamada de encapsulamento. Em outras palavras: Métodos privados geralmente são usados apenas por outros métodos que são públicos (e que podem ser chamados a partir de outro objeto) da mesma classe a fim de não repetir código em mais de um método. (wikipedia) Modificadores de Acesso Lembram-se do encapsulamento? Os atributos que não queremos expor ficam protegidos de forma que somente o objeto saiba deles. Para expor de forma controlada o acesso à eles, usamos métodos públicos. É comum usarmos os chamados métodos get e set para respectivamente obter e alterar um determinado atributo. Em VB usamos suas propriedades para essa finalidade.
  • 9. Na Prática Criando uma classe em VBA 1 - No Project Explorer, clique com o botão direito em cima do nome de seu projeto. Escolha inserir, módulo de classe. 2- Agora vamos alterar o nome da classe na janela de propriedades. Na figura o nome foi alterado para “Contato”
  • 10. Na Prática Criando uma classe em VBA - Continuando
  • 11. Antes de começarmos a codificar devemos fazer um “esboço” da classe que iremos criar. Definir seus atributos e seus métodos. Lembrando do encapsulamento, os atributos privados somente podem ser vistos pelo próprio objeto. Para expor estes atributos para o mundo externo deve-se então usar métodos públicos. Antes de começarmos a codificar devemos fazer um “esboço” da classe que iremos criar. Definir seus atributos e seus métodos. Lembrando do encapsulamento, os atributos privados somente podem ser vistos pelo próprio objeto. Para expor estes atributos para o mundo externo deve-se então usar métodos públicos. Os atributos privados são precedidos do sinal “-” e os atributos públicos com o sinal “+” . Os atributos privados são precedidos do sinal “-” e os atributos públicos com o sinal “+” .
  • 12. As propriedades são a forma de se ter acesso de forma protegida aos atributos privados do objeto. As propriedades são a forma de se ter acesso de forma protegida aos atributos privados do objeto. Declaração de atributos privadosDeclaração de atributos privados Get e Let – Estas instruções são 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 formatação de saída. Get e Let – Estas instruções são 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 formatação de saída.
  • 13. Para instanciar uma classe, podemos usar o seguinte código em um módulo ou em rotinas de formulários. Para instanciar uma classe, podemos usar o seguinte código em um módulo ou em rotinas de formulários. Métodos públicos são visíveis ao mundo externo. Métodos públicos são visíveis ao mundo externo.
  • 14. Um exemplo mais completo do uso de classes em VBAUm exemplo mais completo do uso de classes em VBA Agora os botões chamarão métodos do objeto MeuContato. Agora os botões chamarão métodos do objeto MeuContato. Método Salvar do objetoMétodo Salvar do objeto
  • 15. Usando orientação a objetos: Benefícios: Reaproveitamento de código Código mais enxuto Acoplamento baixo entre os módulos Segurança.. entre outros. FIMFIM