SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosLeonardo Melo Santos
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlex Camargo
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5César Augusto Pessôa
 
Introdução à Metaprogramação com Java Reflection API
Introdução à Metaprogramação com Java Reflection APIIntrodução à Metaprogramação com Java Reflection API
Introdução à Metaprogramação com Java Reflection APIGuilherme de Cleva Farto
 
Explicando Estruturas/Registros no C#
Explicando Estruturas/Registros no C#Explicando Estruturas/Registros no C#
Explicando Estruturas/Registros no C#Denis Fernandes Gomes
 
Lista de exercício
Lista de exercício   Lista de exercício
Lista de exercício Jota Thin
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na práticaRafael Cassau
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAAparicio Junior
 

Was ist angesagt? (20)

Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
Greenfoot 1
Greenfoot 1Greenfoot 1
Greenfoot 1
 
Linguagem Java
Linguagem JavaLinguagem Java
Linguagem Java
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
python.pptx
python.pptxpython.pptx
python.pptx
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
Introdução à Metaprogramação com Java Reflection API
Introdução à Metaprogramação com Java Reflection APIIntrodução à Metaprogramação com Java Reflection API
Introdução à Metaprogramação com Java Reflection API
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Explicando Estruturas/Registros no C#
Explicando Estruturas/Registros no C#Explicando Estruturas/Registros no C#
Explicando Estruturas/Registros no C#
 
Lista de exercício
Lista de exercício   Lista de exercício
Lista de exercício
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Aula 5 banco de dados
Aula 5   banco de dadosAula 5   banco de dados
Aula 5 banco de dados
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Java interview questions
Java interview questionsJava interview questions
Java interview questions
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVA
 

Andere mochten auch

✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...André Luiz Bernardes
 
Curso completo de excel
Curso completo de excelCurso completo de excel
Curso completo de excelCDIM Daniel
 
Manual de produtos quimicos
Manual de produtos quimicosManual de produtos quimicos
Manual de produtos quimicosSoraya Santos
 
Apostila curso emergencias_quim
Apostila curso  emergencias_quimApostila curso  emergencias_quim
Apostila curso emergencias_quimwaltermoreira
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátilWanderlei Silva do Carmo
 
Apresentação programação de computadores
Apresentação   programação de computadoresApresentação   programação de computadores
Apresentação programação de computadoresWanderlei Silva do Carmo
 
Web Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da InformaçãoWeb Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da InformaçãoGustavo Zimmermann
 

Andere mochten auch (20)

Excel VBA: Aula 12
Excel VBA: Aula 12Excel VBA: Aula 12
Excel VBA: Aula 12
 
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
 
Excel VBA: Aula 11
Excel VBA: Aula 11Excel VBA: Aula 11
Excel VBA: Aula 11
 
Excel comandos avançados
Excel comandos avançadosExcel comandos avançados
Excel comandos avançados
 
Curso completo de excel
Curso completo de excelCurso completo de excel
Curso completo de excel
 
Manual de produtos quimicos
Manual de produtos quimicosManual de produtos quimicos
Manual de produtos quimicos
 
Apostila curso emergencias_quim
Apostila curso  emergencias_quimApostila curso  emergencias_quim
Apostila curso emergencias_quim
 
Banco de dados i
Banco de dados iBanco de dados i
Banco de dados i
 
Mini aula de teste de software
Mini aula de teste de softwareMini aula de teste de software
Mini aula de teste de software
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Desenvolvimento para Windows Mobile
Desenvolvimento para Windows MobileDesenvolvimento para Windows Mobile
Desenvolvimento para Windows Mobile
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátil
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Programação de computadores
Programação de computadoresProgramação de computadores
Programação de computadores
 
Apresentação programação de computadores
Apresentação   programação de computadoresApresentação   programação de computadores
Apresentação programação de computadores
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Web Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da InformaçãoWeb Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da Informação
 
Twitter Chat
Twitter ChatTwitter Chat
Twitter Chat
 
Web (design+developer)
Web (design+developer)Web (design+developer)
Web (design+developer)
 
Mini aula análise de requisitos
Mini aula análise de requisitosMini aula análise de requisitos
Mini aula análise de requisitos
 

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

Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Ryan Padilha
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfpedrina4
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 
Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos finalemcp11
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0César Augusto Pessôa
 

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

Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
 
03 poo
03 poo03 poo
03 poo
 
Java7
Java7Java7
Java7
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos final
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
 
Sld 4
Sld 4Sld 4
Sld 4
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
 
Aula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aooAula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aoo
 
Conceito POO
Conceito POOConceito POO
Conceito POO
 

Mehr von Wanderlei Silva do Carmo (7)

HTML Básico - Programador web
HTML Básico - Programador webHTML Básico - Programador web
HTML Básico - Programador web
 
Desenvolvimento IOS - Mobile
Desenvolvimento IOS - MobileDesenvolvimento IOS - Mobile
Desenvolvimento IOS - Mobile
 
Segurança de código
Segurança de códigoSegurança de código
Segurança de código
 
HTML Básico
HTML BásicoHTML Básico
HTML Básico
 
Curso gratuitoshellscript nivel-2
Curso gratuitoshellscript nivel-2Curso gratuitoshellscript nivel-2
Curso gratuitoshellscript nivel-2
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Operadores lógicos
Operadores lógicosOperadores lógicos
Operadores lógicos
 

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

  • 1. Classes em VBA/EXCEL Wanderlei Silva do Carmo <wander.silva@gmail.com>
  • 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