1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras...

59
1 Introdução a Programação Orientada a Objetos • Introdução – Noções básicas – Outras disciplinas complementarão • Programação – Como elaborar programas • Orientada a Objetos – Paradigma de modelagem conceitual

Transcript of 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras...

Page 1: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

1

Introdução a Programação Orientada a Objetos

• Introdução– Noções básicas– Outras disciplinas complementarão

• Programação– Como elaborar programas

• Orientada a Objetos – Paradigma de modelagem conceitual

Page 2: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

2

Paradigma de Orientação a Objetos

• Surgiu na tentativa de solucionar problemas existentes no desenvolvimento de softwares complexos com confiabilidade e baixo custo de desenvolvimento e manutenção

• Representar objetos em um software é mais natural e permanente do que representar a sua funcionalidade –decomposição funcional –, pois essa é mutável

Page 3: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

3

ESPAÇO DEPROBLEMAS

ESPAÇO DESOLUÇÕES

Gap Semântico

Mundo Real Mundo Computacional

Identificação dos aspectos mais importantes do mundo real para fins de representaçãono computador

Page 4: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

4

Sobre o Gap Semântico• Diferenças entre

– Espaço de Problemas– Espaço de Soluções

• Software– Modelo para a solução de um problema

do mundo real– Mapeamento de objetos pertencentes

ao espaço de problemas para o espaço de soluções

– Operações sobre objetos abstratos correspondam a operações do mundo real

Page 5: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

5

Sobre o Gap Semântico• Projetista de Software

– Cria algoritmos que, quando executados no computador, produzirão resultados que podem ser mapeados fisicamente para alguma ação do mundo real ou examinados/interpretados por pessoas

• Assim...– Quanto mais próximo, conceitualmente,

estiver o espaço de soluções do espaço de problemas, mais fácil será o desenvolvimento de uma aplicação, assegurando sua compreensão, confiabilidade e manutenção

Page 6: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

6

Objetivo do Paradigma de Orientação a Objetos

DIMINUIR O GAP SEMÂNTICO

ESPAÇO DEPROBLEMAS

ESPAÇO DESOLUÇÕES

Page 7: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

7

ESPAÇO DEPROBLEMAS

ESPAÇO DESOLUÇÕES

Mapeamento

Mundo RealMundo Computacional

Processo de Identificaçãode Abstrações

Se essas abstrações não tiverem uma expressão direta, ou próxima, do mundo computacional, a complexidade da solução será aumentada

Page 8: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

8

Modelagem Conceitual• Tarefa mais importante do processo de

desenvolvimento de um software– Realiza-se a análise do domínio da aplicação e

a modelagem das entidades e fenômenos desse domínio que o projetista considera importante, independentemente da implementação

• A tarefa de modelagem conceitual envolve dois mecanismos– Abstração– Representação

Page 9: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

9

Modelagem Conceitual

EntidadeObservada

Entidade Representada

Avião

ABSTRAÇÃO

Operação mentalpara observar umdomínio e capturarsua estrutura

Uso de convenções de representação

Notação gráfica,linguagem de programação

REPRESENTAÇÃO

Page 10: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

10

AbstraçãoPodem ser feitas diferentes abstrações a partir

de um mesmo objeto do mundo real

Maçapesocor da cascaformato

CATEGORIA

Receita

AÇÃO

3I, II, III

Cardinalidadedo conjunto

ATRIBUTO

Page 11: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

11

Abstraçãocoraparência

CorrerBrincar

pesotamanho

CriarComer

Pontos de vista distintos

Page 12: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

12

Abstração• Mecanismo utilizado na análise de um

domínio• Indivíduo observa a realidade e dela

abstrai entidades e ações consideradas essenciais para uma aplicação, excluindo todos os aspectos julgados irrelevantes

• Exercício: analisar os objetos apresentados a seguir e distinguir características e ações que estes objetos podem executar

Page 13: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

13

Page 14: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

14

Abstração• Ato de abstrair(-se)• Ato de separar mentalmente um ou

mais elementos de uma totalidade complexa (coisa, representação, fato), os quais só mentalmente podem subsistir fora dessa totalidade

• O resultado de abstrações (termo, conceito, idéia, elemento de classe, etc.)

Page 15: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

15

Operações de Abstração As Operações de Abstração relevantes para

a Modelagem Conceitual são:– Classificação– Instanciação– Generalização– Especialização– Agregação– Decomposição– Associação

Esses conceitos serão abordados mais tarde durante a disciplina

Page 16: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

16

Conceitos Básicos de OO• Mundo real é formado por Entidades

que interagem entre si• Entidades podem ser classificadas em

Categorias• A categoria de uma entidade define

suas – Características, ou particularidades– Funcionalidades, ou atividades que as

entidades de uma categoria podem executar

Page 17: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

17

Substituindo por sinônimos…

Entidades por Objetos

Categorias por Classes

Características por Atributos

Funcionalidades por Métodos

Page 18: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

18

Em outras palavras…• Mundo real é formado por Objetos

que interagem entre si• Objetos podem ser classificados em

Classes• A classe de um objeto define seus

– Atributos, ou particularidades– Métodos, ou as atividades que os

objetos de uma classe podem executar

Page 19: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

19

Segundo o dicionário Aurélio Século XXI http://www2.uol.com.br/aurelio

os significados dos termos ClasseObjeto

AtributoMétodo

são...

Page 20: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

20

Classe• Categoria, ordem • Numa série ou num conjunto, grupo ou

divisão que apresenta características semelhantes

• Informática: Em programação ou modelagem orientada a objetos, categoria descritiva geral, que abrange o conjunto de objetos que compartilham uma ou mais características quanto a seus itens de dados e procedimentos associados

Page 21: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

21

Objeto• Tudo que é manipulável e/ou

manufaturável• Tudo que é perceptível por qualquer dos

sentidos• Informática: Em programação orientada a

objetos, qualquer módulo que contém rotinas e estruturas de dados e é capaz de interagir com outros módulos similares, trocando mensagens

Page 22: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

22

Atributo• Aquilo que é próprio de um ser• Informática: Na modelagem conceitual,

cada uma das propriedades que definem um objeto ou entidade

Método• Caminho pelo qual se atinge um objetivo• Informática: Programa que regula

previamente uma série de operações que devem ser realizadas, apontando erros evitáveis, em vista de um resultado determinado

Page 23: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

23

Classes• Todos os objetos do mundo real podem

ser divididos em categorias ou classes se eles possuírem as mesmas características, ou atributos, e mesmas funcionalidades, ou métodos

• Muito importante é compreender a diferença entre – Atributo – Valor de atributo

Page 24: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

24

Classes• Todos os objetos da mesma classe

possuem os mesmos atributos• Uma classe

– Define as características de um grupo de objetos, ou seja, define como serão as instâncias pertencentes a ela

– Define também quais serviços, ou operações, qualquer objeto da classe poderá executar, ou seja, seu comportamento

Page 25: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

25

Classes

• Como todo objeto é uma instância de alguma classe, isto é, todo objeto pertence a uma classe, então a classe pode ser considerada como o tipo do objeto

Nome da Classe

Definição dos Atributos

Definição das funcionalidades ou

Métodos

• Representação simples em UML

Page 26: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

26

UML• Acrônimo de Unified Modeling Language –

Linguagem de Modelagem Unificada• Pode ser usada com qualquer processo de

desenvolvimento• Padronizada pelo OMG – Object

Management Group – e já sofreu atualizações

• Versão atual: UML 2.0• Mais informações em

– pt.wikipedia.org/wiki/UML– www.uml.org

Page 27: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

27

ObjetosObjeto é qualquer coisa que tenha algum

significado dentro do contexto de um problema, seja ela concreta ou abstrata, ou seja, qualquer coisa que apresente

alguma utilidade ou sirva para um propósito

• Para programação, um objeto é a abstração de uma entidade do mundo real que apresenta sua própria existência, identificação, características de composição e que pode executar determinados serviços quando solicitado

Page 28: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

28

Exemplos: Objetos e Classes

Objetosum livrouma página de um livrouma viagemuma determinada dataum endereço de alguémuma pessoauma determinada festauma músicauma conexão de redeuma nota fiscaluma determinada porta

ClassesLivroPágina de livroViagemDataEndereçoPessoaFestaMúsicaConexão de redeNota fiscalPorta

Page 29: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

29

Exemplos• Seja a definição de uma classe Porta, que deve

representar as características e funcionalidades consideradas relevantes para todos os objetos que compõem esta classe

Classe PortaAtributos cor

alturalargurafechadura

Funcionalidades abrir-sefechar-se

Page 30: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

30

Exemplos• Seja o objeto resultante de uma abstração da

porta de uma sala, ou seja, um objeto uma porta

Objeto uma portaAtributos cor = azulaltura = 2,10 mlargura = 0,90 mfechadura = “objeto da classe das fechaduras”

Funcionalidades abrir-sefechar-se

Page 31: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

31

Exemplos• Seja a definição abstrata de uma classe Aluno de

uma determinada disciplina• Considerando que o sistema de avaliação em

uma disciplina seja por uma prova escrita, os atributos e serviços deste objeto seriam

Classe AlunoAtributos nome do aluno

matrículanota prova

Funcionalidades estudarassistir aularealizar prova

Page 32: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

32

Exemplos• Seja a definição de um objeto um aluno da

classe Aluno definida anteriormente

Objeto um alunoAtributos nome do aluno = Maria

matrícula = 12345678nota prova = 9,0

Funcionalidades estudarassistir aularealizar prova

Page 33: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

33

ExemplosObjeto meu relógio

Atributos Formato arredondadoCor amarelaPeso 30 gramasA Pulseira outro objetoOs Ponteiros outro objetoA Pilha outro objeto

Métodos Iniciar marcação de horasInformar horasCorrigir horasTrocar pilha

Page 34: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

34

ExemplosObjeto meu relógio

Atributos Formato arredondadoCor amarelaPeso 30 gramasA Pulseira outro objetoOs Ponteiros outro objetoA Pilha outro objeto

Métodos Iniciar marcação de horasInformar horasCorrigir horasTrocar pilha

Características de qualquer objeto da

Classe Relógio

Page 35: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

35

ExemplosObjeto meu relógio

Atributos Formato arredondadoCor amarelaPeso 30 gramasA Pulseira outro objetoOs Ponteiros outro objetoA Pilha outro objeto

Métodos Iniciar marcação de horasInformar horasCorrigir horasTrocar pilha

Características do meu relógio em

particular

Page 36: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

36

ExemplosObjeto meu relógio

Atributos Formato arredondadoCor amarelaPeso 30 gramasA Pulseira outro objetoOs Ponteiros outro objetoA Pilha outro objeto

Métodos Iniciar marcação de horasInformar horasCorrigir horasTrocar pilha

Funcionalidade de qualquer objeto da

Classe Relógio

Page 37: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

37

ExemplosObjeto meu relógio

Atributos Formato arredondadoCor amarelaPeso 30 gramasA Pulseira outro objetoOs Ponteiros outro objetoA Pilha outro objeto

Métodos Iniciar marcação de horasInformar horasCorrigir horasTrocar pilhaOutros objetos que

ajudam a compor um objeto da Classe Relógio

Page 38: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

38

Objetos – Representação Visual

meu relógio Representação simples

meu relógio

a pulseiraos ponteiros

a pilha

Objeto comoutros objetos agregados

Objeto composto

Page 39: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

39

Objetos• Um objeto é um elemento do programa que,

após ser criado através da execução de determinados comandos pelo computador, passa a ocupar um espaço na memória

• Todo objeto deve ter uma identificação (nome)• Os atributos são as características de

composição de um objeto e definem sua estrutura

• Atributos– valores simples ou outros objetos– podem mudar durante a vida do objeto

Page 40: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

40

Objetos• As ações, serviços realizados ou

comportamento dos objetos, serão chamados de métodos

• Devemos imaginar que um objeto é algo que tem vida própria e que tenha capacidade de realização de ações mesmo quando este objeto tratar-se da abstração de algo inanimado ou abstrato

Page 41: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

41

Sobre Objetos e suas Classes• Objetos de uma certa classe têm atributos

– Uma conta tem um número, um saldo, um histórico de transações

– Um cliente tem um nome, um endereço– Um cheque tem um valor

• Objetos de uma mesma classe têm um mesmo comportamento– Clientes entram numa agência– Clientes fazem depósitos e saques– Clientes emitem cheques

Page 42: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

42

Classes• Há simplificações no comportamento dos

objetos em relação ao mundo real– Por vezes não é interessante modelar todo o

comportamento dos objetos• Exemplo: clientes tomam café no mundo real mas

provavelmente não na classe Cliente– Os comportamentos freqüentemente são

assumidos por objetos diferentes• Exemplo: no mundo real, quem faz um depósito

numa conta? Um cliente• Nos programas, qual classe assumiria a

responsabilidade de fazer um depósito? A classe conta

Page 43: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

43

Classes• Alguns objetos não têm comportamento

– Contas não são vivas: não "fazem" nada• Objetos podem estar relacionados

– Um cliente pode possuir várias contas• Objetos podem pertencer a mais de uma

classe– João, que pertence a classe Cliente, pode

pertencer também a classe Estudante• Para ler mais sobre o assunto

– www.inf.ufsc.br/poo/conceitos

Page 44: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

44

Representação da Classe

Relogio-String formato-String cor-String peso-Pulseira apulseira-Ponteiro osponteiros-Pilha apilha+ iniciarMarcacaoDeHoras+ informarHoras+ corrigirHoras+ trocarPilhas

Nome da Classe

Atributos

Atributos que correspondem a objetos de outras classes

Métodos

Page 45: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

45

Representação da Classe

Relogio-String formato-String cor-String peso-Pulseira apulseira-Ponteiro osponteiros-Pilha apilha+iniciarMarcacaoDeHoras+informarHoras+corrigirHoras+trocarPilhas

Nessa disciplina daremos especial

atenção a Construção de

Métodos

Page 46: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

46

Métodos• Um Objeto presta um serviço executando

algum Método especificado em sua classe• Um mesmo serviço poderá ser executado

de várias formas, mas por enquanto assumiremos que cada Serviço corresponderá a um Método

• Denominação:– Serviço para a ação do objeto– Método para a forma como a ação será executada

• Inicialmente veremos a construção de um método como a construção de um programa

Page 47: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

47

A Plataforma Java• Uma plataforma é o ambiente de

hardware e software onde um programa é executado

• A Plataforma Java é definida por:– APIs Java– Máquina Virtual Java

Page 48: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

48

A Linguagem Java– Simples– Orientada a Objetos– Distribuída– Portável– Robusta– Segura– Interpretada– Independente de arquitetura– Alta performance– Dinâmica

Page 49: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

49

Linguagens de Programação• Linguagens de máquina

– Instruções para comandar a execução de operações primitivas

– Exemplos • somar dois números• comparar dois números• transferir dados entre a memória e os registradores

do processador ou entre a memória e os dispositivos de E/S

– Primeiras linguagens• instruções escritas de forma primitiva• cada instrução era formada por uma dezena de bits• trabalhosa e muito sujeita a erros

Page 50: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

50

Linguagens de Programação• Linguagens de montagem

– Programadores passaram a usar nomes para as operações e dados

– Exemplos• MOV R1,X• ADD R1, R2

– Programas eram escritos desta forma e “traduzidos” manualmente para linguagem de máquina para ser carregado e executado

– Transferido para o computador a tarefa de “montar” o programa em linguagem de máquina

– Programa montador traduz da linguagem de montagem para a linguagem de máquina

Page 51: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

51

Linguagens de Programação• Linguagens de máquina e linguagens de

montagem: linguagens de baixo nível• Linguagem de programação de alto nível

– conjunto rico de instruções sintáticas, adequadas para expressar algoritmos usados para a solução de problemas

• Para que um programa em linguagem de alto nível possa ser executado pelo computador ele precisa ser traduzido para um programa em linguagem de máquina

• Esta tradução é denominada “compilação” e o programa que faz esta tarefa é o compilador

Page 52: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

52

O Processo de Compilação• Um programa escrito segundo uma

linguagem de programação é chamado de programa fonte ou código fonte

• Para que este programa fonte possa ser executado por um computador ele deve ser traduzido para outra linguagem compreendida pelo computador – atividade realizada por um compilador

• O resultado do processo de compilação é denominado programa objeto ou código objeto

Page 53: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

53

O Processo de Compilação

Programa Fonte Compilação

ProgramaObjeto

Há erros?

Sim

Não

indicação dos erros a serem

corrigidos

Page 54: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

54

O Processo de Execução

Programa Objeto Execução Resultados

• O programa objeto é que será executado pelo computador para gerar os resultados esperados

Page 55: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

55

O Processo de Interpretação• Processo diferente da compilação/ execução:

interpretação de programas fonte• Interpretador interpreta diretamente cada

comando de um programa fonte, simulando sua execução sobre os dados fornecidos para o interpretador

• Interpretação de programas escritos em uma determinada linguagem define uma “máquina virtual” na qual é realizada a execução de instruções desta linguagem

• Processo pode ser centenas de vezes mais lento do que a execução de um código objeto

Page 56: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

56

O Processo de Interpretação• Vantagem: mais fácil construir um

interpretador do que um compilador• Aspecto que foi explorado pelos

projetistas da linguagem Java no desenvolvimento de ambientes para programação e execução de programas

• Estes ambientes são baseados em uma combinação de processos de compilação e interpretação

Page 57: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

57

A Linguagem Java• Um ambiente de programação Java é

constituído de um compilador Java que gera um código de mais baixo nível denominado bytecode

• O bytecode é então interpretado • Um interpretador de bytecodes interpreta

as instruções da chamada “Máquina Virtual Java” (JVM)

• Este esquema, além de outras vantagens, contribuí para facilitar a implementação da linguagem em um grande número de computadores diferentes

Page 58: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

58

Ambientes de Programação• Além de compiladores e interpretadores um

ambiente de programação de uma linguagem de alto nível oferece, em geral, um conjunto de bibliotecas de componentes ou módulos de programas usados no desenvolvimento de programas

• Além disso incluem ferramentas para uso e desenvolvimento de programas como editores de texto e depuradores de programas

• Em um ambiente de programação integrado todos estes componentes são oferecidos no mesmo programa

Page 59: 1 Introdução a Programação Orientada a Objetos Introdução –Noções básicas –Outras disciplinas complementarão Programação –Como elaborar programas Orientada.

59

IDEs• IDE é a sigla de Integrated Development

Environment, ou Ambiente Integrado de Desenvolvimento

• Usaremos JCreator • Outras IDEs que podem ser utilizadas

• Eclipse (www.eclipse.org)• NetBeans (www.netbeans.org)• Gel (www.gexperts.com)• JEdit (www.jedit.org)• OptimalJ (www.compuware.com/products/optimalj

)