NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalTutoriaisRicardosilva : Poovbs001
Quer receber novidades e e-books gratuitos?

FILTRO DE TUTORIAIS:


Entendendo a Orientação a Objetos

 

Objetivos

 

Neste tutorial você aprenderá um breve conceito de Programação Orientada a Objeto que é a parte essencial para entender os conceitos e a sintaxe do Vbscript e assim começar a desenvolver seus scripts.

 

Pré-Requisito

 

Para acompanhar este parte é necessário ter compreendido os tutoriais anteriores e ter instalado no computador o Visual Studio 6.0.

 

Introdução

 

Hoje em dia no mundo da programação não se fala em outra coisa a não ser Programação Orientada a Objeto (POO). E logo surge a primeira dúvida “Que objeto?”. Várias literaturas irão abranger muitos aspectos sobre o que é um objeto, classe, propriedades e métodos. De uma maneira bem simples e clara vou exemplificar ao leitor sobre o assunto.

 

Um dos primeiros pontos que frequentemente causam confusão na POO são os termos classe e objeto. A partir desse ponto que começaremos o nosso estudo.

 

Classe

 

Uma classe é um tipo de modelo abstrato que contem uma série de funções e tipo de dados para acessar e manipular outros dados. Para uma melhor compreensão, imagine que uma classe é um modelo ou um projeto para um objeto. Neste projeto estão definidos os atributos para armazenar dados e as definições ou código para manipular esses dados. Uma classe também define uma série de restrições que permitem ou negam o acesso aos atributos e operações.

 

Para melhor compreensão, vamos utilizar um exemplo da vida real. Por exemplo, um carro pode ser considerado uma classe, pois nós sabemos que o carro tem suas características ou atributos, assim como a cor, modelo, o número de rodas e assim sucessivamente. Também conhecemos suas funcionalidades ou operações, incluindo abrir e fechar porta, aceleração, frear, estacionar e etc.

 

Uma outra coisa que deve ser levada em consideração é que todas as características e funcionalidades de um carro são conhecidas, mas você não sabe quais técnicas e processos os projetistas utilizaram para construção do projeto. Na POO isto é denominado encapsulamento, ou seja, esconder detalhes do projeto para o cliente.

 

Objeto

 

Objetos nada mais são do que instancias ou cópia de classes em memória. Um simples projeto ou classe pode ser usado como base para criar vários objetos únicos e individuais. Para melhorar nossa compreensão, vamos voltar ao nosso exemplo. Imaginem que depois todo o projeto do carro esteja pronto e cinco clientes fazem uma encomenda de um carro cada um. Cada cliente irá fazer modificações em seu carro, por exemplo, mudar a cor do carro, o tipo de roda e colocar alguns acessórios extras. Perceba que cada cliente terá um carro em comum, ou seja, vindo do mesmo projeto ou classe, mas com identificadores exclusivos, que no caso seria o chassi de cada carro e que este veículo terá um tempo de vida útil.

 

Então em Programação Orientada a Objeto uma classe é criada teoricamente para sempre existir. E um objeto é criado ou instanciado em tempo de execução do programa ou aplicativo e irá existir até que o programa seja encerrado.

 

Propriedades e Métodos

 

Como dito anteriormente uma classe contém funcionalidade e características de alguma coisa. Quando você faz uma nova instância ou cópia dessa classe e cria um novo objeto, o acesso a essas funcionalidades e características é exposto através de métodos e propriedades, estes são os termos utilizados na POO.

 

Método é tudo aquilo que é considerado uma ação daquele objeto. Voltando ao exemplo do carro, um método seria acelerar, frear, troca de marcha, e assim por diante.

 

Propriedade seria tudo aquilo que é relacionado com os dados daquele objeto específico. Um exemplo prático seria a cor do carro, ano de fabricação, tipo de roda. Então seria toda a alteração do estado desde quando foi instanciada a classe.

 

NOTA

 

Todo texto apresentado acima é apenas o conteúdo conceitual de Orientação a Objeto e por isso não fica atrelado a nenhuma plataforma.

 

 

Entendendo a Tecnologia COM/DCOM

 

Component Object Model (Componente de Modelo de Objetos) é uma tecnologia proprietária da Microsoft que incorpora a POO. Esta tecnologia é um Modelo de Objetos que são projetados para aplicar uma série de tarefas específicas como, por exemplo, o gerenciamento de arquivos de sistema, ler informações de base dados, entre outros. Para aplicar esta estrutura a Microsoft utilizou as Type Libraries (Bibliotecas de Tipos) que é uma coleção de classes que podem ser redistribuídas para permitir os programadores criarem instancias de objetos baseado nas classes contidas nessas bibliotecas.

 

Estas bibliotecas ou componentes como comumente é chamado, são compilados em arquivos binários comumente conhecidos como DLL (Dynamic Link Libraries) ou ActiveX Control Files (arquivos com extensão “.ocx” ou “.tlb”).

 

Para uma melhor compreensão vamos utilizar uma ferramenta chamada Object Browser que vem junto com Visual Studio 6.0 da Microsoft. Com esta ferramenta vamos visualizar o conteúdo de uma biblioteca muito utilizada para acessar banco de dados chamado de ADO - Activex Data Objects. Veja figura 3.1 a seguir.

 

Figura 3.1 – Visualizando o conteúdo da Biblioteca ADO – Activex Data Objects.

 

Descrição dos Itens relacionados:

  • Item 1 – Este item mostra a biblioteca ADO. Nesta Biblioteca o programador encontra todas as classes necessárias para acessar Banco de Dados.
  • Item 2 – Note o ícone exibido neste item, este ícone representa uma classe. No caso esta é a classe Recordset ou Conjunto de Registro, ela é utilizada para manipular tabelas de uma base de dados qualquer.
  • Item 3 – Este ícone verde representa um método ou ação como dita anteriormente. Neste caso o método AddNew da classe Recordset, ou seja, este método é utilizado para adicionar um novo registro ao conjunto de registro.
  • Item 4 – O ícone com cartãozinho e uma mãozinha representa uma propriedade ou dado como dito anteriormente. No caso é a propriedade CursorType da classe Recordset, ou seja, o programador pode mudar o tipo de cursor que o Recorset vai utilizar.
  • Item 5 – Neste item é exibido um dado muito importante para o programador que é a descrição da biblioteca, como por exemplo, seu nome interno, o caminho onde está o arquivo, sua extensão de arquivo e sua respectiva versão. Na figura abaixo é exibido todo o caminho percorrido, note que o arquivo selecionado é exatamente o que esta sendo exibido na descrição.

Figura 3.2 – Caminho físico da Biblioteca.

 

Agora que você já sabe como é internamente uma biblioteca, vamos ver como tudo isso funciona na Arquitetura COM.

 

Quando você faz a estância de uma classe em seu programa, a arquitetura COM precisa fornecer uma série de regras e especificações que definem como aplicações podem ser construídas para utilizarem componentes e também descreve o caminho preciso no qual cliente, por exemplo, script WSH possa se comunicar com classes que estão localizados dentro de um componente. Este processo é chamado de “Contrato”.

 

Este contrato nada mais é do que a definição dos métodos e propriedades suportados pela classe ou objeto, e passado para o cliente. A tecnologia COM também administra como os dados são transferidos entre o cliente, que no caso seria o script e o objeto. Este processo é chamado de “Marshall” ou Organizar. A figura 3.3 mostra uma visão gráfica dos processos de estabelecimento de contrato e marshalling.

 

Figura 3.3 – Processo de Contrato e Marshalling.

 

Toda esta tecnologia explicada até aqui só existe em uma máquina que não esteja conectada em rede. Para computadores que estejam conectados em rede e necessitem ter esta tecnologia a Microsoft criou juntamente com a tecnologia COM a DCOM que nada mais do que a mesma tecnologia COM para um ambiente de rede. A sigla “D” vem de distribuído.

 

Neste momento você deve estar se perguntado “Como é que o Windows gerencia tudo isso?”. Bom o processo é bem simples, toda a classe é identificada com um rótulo chamado de Programmatic Identifier ou Identificador Programático “ProgID”.

 

Quando você instala o Windows, por exemplo, 2000 e XP, automaticamente ele instala uma série de Modelo de Objetos para você utilizar. Veja alguns descritos abaixo:

  • WSH - Fornece aplicabilidade básica para tarefas administrativas, como por exemplo, criação de pastas e mapeamento de drives de rede.
  • ADSI – Active Directory Service Interface, fornece acesso a recursos do Active Directory, assim como usuários e grupos.
  • ADO – Activex Data Objects, fornece acesso a recursos de banco de dados, como por exemplo, Microsoft Access ou SQL Server.

O ProgID é armazenado na seção HKEY_CLASSES_ROOT do registro do Windows, com isso ele sabe qual arquivo com extensão .dll, .exe ou .ocx contida do sistema tem uma definição de classe associada para construção de objetos. Um ProgID consiste de um tipo de biblioteca e o nome de uma classe separada por ponto. Veja o exemplo a seguir:

 

Biblioteca.Classe

 

O exemplo a seguir mostra como fazer uma instância a classe Recordset da Biblioteca ADODB mostrada anteriormente, só que utilizando a sintaxe do VBscript.

 

Dim MeuObjeto

Set MeuObjeto = CreateObject(“ADODB.Recordset”)

 

Nas figuras 3.4 é exibido o rótulo que identifica a classe Recordset e sua específica localização no registro do Windows.

 

Figura 3.4 – ProgID da Classe Recordset no Registro do Windows.

 

Conclusão

 

Neste tutorial você teve o conceito inicial sobre a Programação Orientada e como trabalhar com código reutilizável. Conheceu a Tecnologia COM/DCOM proprietária da Microsoft e como ela é implementada em seu código de script.

Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2020 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI