avisosariane/ach2001/ach2001-aula26... · 2009-06-11 · • encapsulamento: • conceito da poo...

93
SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 Avisos Seminários Interdisciplinares em SI Próximo: dia 16/06 às 15h (Profa. Fátima) : Processamento de Imagens e Realidade Virtual para aplicações em saúde Importante para quem pensa em fazer Iniciação Científica Lembre-se: para conseguir bolsa de IC e estágio supervisionado conta notas e reprovações Processamento de Imagens e Realidade Virtual para aplicações em saúde

Upload: others

Post on 13-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

11

11SISTEMAS DE

INFORMAÇÃO1

11

1SISTEMAS DEINFORMAÇÃO

11SISTEMAS DE

INFORMAÇÃO1

11

1SISTEMAS DEINFORMAÇÃO

11

11SISTEMAS DE

INFORMAÇÃO1

1SISTEMAS DEINFORMAÇÃO

11

1

SISTEMAS DEINFORMAÇÃO

11

11 1SISTEMAS DEINFORMAÇÃO

11

11SISTEMAS DE

INFORMAÇÃO1

1SISTEMAS DEINFORMAÇÃO

11

11SISTEMAS DE

INFORMAÇÃO1

11

1SISTEMAS DEINFORMAÇÃO

11SISTEMAS DE

INFORMAÇÃO1

11

1SISTEMAS DEINFORMAÇÃO

111SISTEMAS DE

INFORMAÇÃO1

11

1SISTEMAS DEINFORMAÇÃO

11SISTEMAS DE

INFORMAÇÃO1

11

1SISTEMAS DEINFORMAÇÃO

11

11SISTEMAS DE

INFORMAÇÃO1

1SISTEMAS DEINFORMAÇÃO

11

11SISTEMAS DE

INFORMAÇÃO1

11

Avisos

• Seminários Interdisciplinares em SI– Próximo: dia 16/06 às 15h (Profa. Fátima) :

Processamento de Imagens e Realidade Virtual para aplicações em saúde

– Importante para quem pensa em fazer Iniciação Científica

• Lembre-se: para conseguir bolsa de IC e estágio supervisionado conta notas e reprovações

Processamento de Imagens e Realidade Virtual para

aplicações em saúde

Page 2: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

22

22SISTEMAS DE

INFORMAÇÃO2

22

2SISTEMAS DEINFORMAÇÃO

22SISTEMAS DE

INFORMAÇÃO2

22

2SISTEMAS DEINFORMAÇÃO

22

22SISTEMAS DE

INFORMAÇÃO2

2SISTEMAS DEINFORMAÇÃO

22

2

SISTEMAS DEINFORMAÇÃO

22

22 2SISTEMAS DEINFORMAÇÃO

22

22SISTEMAS DE

INFORMAÇÃO2

2SISTEMAS DEINFORMAÇÃO

22

22SISTEMAS DE

INFORMAÇÃO2

22

2SISTEMAS DEINFORMAÇÃO

22SISTEMAS DE

INFORMAÇÃO2

22

2SISTEMAS DEINFORMAÇÃO

222SISTEMAS DE

INFORMAÇÃO2

22

2SISTEMAS DEINFORMAÇÃO

22SISTEMAS DE

INFORMAÇÃO2

22

2SISTEMAS DEINFORMAÇÃO

22

22SISTEMAS DE

INFORMAÇÃO2

2SISTEMAS DEINFORMAÇÃO

22

22SISTEMAS DE

INFORMAÇÃO2

22

EP 3• Classes Produto, Serviço, Veículo, Acessório

• É para usar herança

• O EP era para ser maior

– Ficou menor para vocês fazerem as listas de exercícios!

• Para entender melhor o que fazer no EP 3 (e como), vamos ver o que outras classes seriam implementadas e como elas usariam a biblioteca

• Bom exercício para se fazer!!!

Page 3: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

33

33SISTEMAS DE

INFORMAÇÃO3

33

3SISTEMAS DEINFORMAÇÃO

33SISTEMAS DE

INFORMAÇÃO3

33

3SISTEMAS DEINFORMAÇÃO

33

33SISTEMAS DE

INFORMAÇÃO3

3SISTEMAS DEINFORMAÇÃO

33

3

SISTEMAS DEINFORMAÇÃO

33

33 3SISTEMAS DEINFORMAÇÃO

33

33SISTEMAS DE

INFORMAÇÃO3

3SISTEMAS DEINFORMAÇÃO

33

33SISTEMAS DE

INFORMAÇÃO3

33

3SISTEMAS DEINFORMAÇÃO

33SISTEMAS DE

INFORMAÇÃO3

33

3SISTEMAS DEINFORMAÇÃO

333SISTEMAS DE

INFORMAÇÃO3

33

3SISTEMAS DEINFORMAÇÃO

33SISTEMAS DE

INFORMAÇÃO3

33

3SISTEMAS DEINFORMAÇÃO

33

33SISTEMAS DE

INFORMAÇÃO3

3SISTEMAS DEINFORMAÇÃO

33

33SISTEMAS DE

INFORMAÇÃO3

33

EP 3

• SistemaDeVendas: deveria ter um vetor de objetos Produtos a serem cadastrados. Deveria implementar pelo menos os seguintes métodos:

–● void cadastraProduto(Produto prod): insere o produto no 

vetor de Produtos● void ordenaProdutos(): ordena o vetor de produtos pelo código 

do produto● Produto buscaProduto(int codigo): Busca (USANDO BUSCA 

BINÁRIA) e retorna um objeto Produto com código igual a codigo. Se o produto não for cadastrado, emite mensagem de erro.

Page 4: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

44

44SISTEMAS DE

INFORMAÇÃO4

44

4SISTEMAS DEINFORMAÇÃO

44SISTEMAS DE

INFORMAÇÃO4

44

4SISTEMAS DEINFORMAÇÃO

44

44SISTEMAS DE

INFORMAÇÃO4

4SISTEMAS DEINFORMAÇÃO

44

4

SISTEMAS DEINFORMAÇÃO

44

44 4SISTEMAS DEINFORMAÇÃO

44

44SISTEMAS DE

INFORMAÇÃO4

4SISTEMAS DEINFORMAÇÃO

44

44SISTEMAS DE

INFORMAÇÃO4

44

4SISTEMAS DEINFORMAÇÃO

44SISTEMAS DE

INFORMAÇÃO4

44

4SISTEMAS DEINFORMAÇÃO

444SISTEMAS DE

INFORMAÇÃO4

44

4SISTEMAS DEINFORMAÇÃO

44SISTEMAS DE

INFORMAÇÃO4

44

4SISTEMAS DEINFORMAÇÃO

44

44SISTEMAS DE

INFORMAÇÃO4

4SISTEMAS DEINFORMAÇÃO

44

44SISTEMAS DE

INFORMAÇÃO4

44

EP 3

• ItemDeVenda: modelaria itens que comporão uma venda. Um item de venda possui um Produto e uma quantidade vendida do produto.

– ItemDeVenda(int codigo, int quantidade): construtor 

– calculaValor(): calcula o valor do item (isto é, quantidade vezes o preço do produto).

Page 5: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

55

55SISTEMAS DE

INFORMAÇÃO5

55

5SISTEMAS DEINFORMAÇÃO

55SISTEMAS DE

INFORMAÇÃO5

55

5SISTEMAS DEINFORMAÇÃO

55

55SISTEMAS DE

INFORMAÇÃO5

5SISTEMAS DEINFORMAÇÃO

55

5

SISTEMAS DEINFORMAÇÃO

55

55 5SISTEMAS DEINFORMAÇÃO

55

55SISTEMAS DE

INFORMAÇÃO5

5SISTEMAS DEINFORMAÇÃO

55

55SISTEMAS DE

INFORMAÇÃO5

55

5SISTEMAS DEINFORMAÇÃO

55SISTEMAS DE

INFORMAÇÃO5

55

5SISTEMAS DEINFORMAÇÃO

555SISTEMAS DE

INFORMAÇÃO5

55

5SISTEMAS DEINFORMAÇÃO

55SISTEMAS DE

INFORMAÇÃO5

55

5SISTEMAS DEINFORMAÇÃO

55

55SISTEMAS DE

INFORMAÇÃO5

5SISTEMAS DEINFORMAÇÃO

55

55SISTEMAS DE

INFORMAÇÃO5

55

EP 3• Venda: Esta classe modela uma venda realizada, que 

é composta por vários itens de venda, a data da venda e o nome do cliente. 

»• Venda(String cliente, int dia, int mês, int ano): construtor

»• insereItemDeVenda(int codigo, int quantidade): insere um item de venda.

»• calculaValorTotal(): calcula o valor total da venda.

»• imprimeNota(): imprime algo semelhante a uma nota fiscal da venda. Cada 

venda deve receber um número (que será o número da nota), que é incrementado sequencialmente a cada nova venda. Formato de impressão:

Page 6: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

66

66SISTEMAS DE

INFORMAÇÃO6

66

6SISTEMAS DEINFORMAÇÃO

66SISTEMAS DE

INFORMAÇÃO6

66

6SISTEMAS DEINFORMAÇÃO

66

66SISTEMAS DE

INFORMAÇÃO6

6SISTEMAS DEINFORMAÇÃO

66

6

SISTEMAS DEINFORMAÇÃO

66

66 6SISTEMAS DEINFORMAÇÃO

66

66SISTEMAS DE

INFORMAÇÃO6

6SISTEMAS DEINFORMAÇÃO

66

66SISTEMAS DE

INFORMAÇÃO6

66

6SISTEMAS DEINFORMAÇÃO

66SISTEMAS DE

INFORMAÇÃO6

66

6SISTEMAS DEINFORMAÇÃO

666SISTEMAS DE

INFORMAÇÃO6

66

6SISTEMAS DEINFORMAÇÃO

66SISTEMAS DE

INFORMAÇÃO6

66

6SISTEMAS DEINFORMAÇÃO

66

66SISTEMAS DE

INFORMAÇÃO6

6SISTEMAS DEINFORMAÇÃO

66

66SISTEMAS DE

INFORMAÇÃO6

66

EP 3 – O que seria o formato de impressão da nota

:Nota Número numeroDaVenda:Cliente cliente

:Data / /dia mes anoItens:Código - Descrição - Preço Unitário – Quantidade - Preço Total

codigoDoProduto – descrição – preçoUnitario – qtde - preçoTotalcodigoDoProduto – descrição – preçoUnitario – qtde - preçoTotalcodigoDoProduto – descrição – preçoUnitario - qtde - preçoTotalcodigoDoProduto – descrição – preçoUnitario – qtde - preçoTotal

:Valor Total valorTotalDaVenda

Page 7: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

77

77SISTEMAS DE

INFORMAÇÃO7

77

7SISTEMAS DEINFORMAÇÃO

77SISTEMAS DE

INFORMAÇÃO7

77

7SISTEMAS DEINFORMAÇÃO

77

77SISTEMAS DE

INFORMAÇÃO7

7SISTEMAS DEINFORMAÇÃO

77

7

SISTEMAS DEINFORMAÇÃO

77

77 7SISTEMAS DEINFORMAÇÃO

77

77SISTEMAS DE

INFORMAÇÃO7

7SISTEMAS DEINFORMAÇÃO

77

77SISTEMAS DE

INFORMAÇÃO7

77

7SISTEMAS DEINFORMAÇÃO

77SISTEMAS DE

INFORMAÇÃO7

77

7SISTEMAS DEINFORMAÇÃO

777SISTEMAS DE

INFORMAÇÃO7

77

7SISTEMAS DEINFORMAÇÃO

77SISTEMAS DE

INFORMAÇÃO7

77

7SISTEMAS DEINFORMAÇÃO

77

77SISTEMAS DE

INFORMAÇÃO7

7SISTEMAS DEINFORMAÇÃO

77

77SISTEMAS DE

INFORMAÇÃO7

77

Relembrando herança

Page 8: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

88

88SISTEMAS DE

INFORMAÇÃO8

88

8SISTEMAS DEINFORMAÇÃO

88SISTEMAS DE

INFORMAÇÃO8

88

8SISTEMAS DEINFORMAÇÃO

88

88SISTEMAS DE

INFORMAÇÃO8

8SISTEMAS DEINFORMAÇÃO

88

8

SISTEMAS DEINFORMAÇÃO

88

88 8SISTEMAS DEINFORMAÇÃO

88

88SISTEMAS DE

INFORMAÇÃO8

8SISTEMAS DEINFORMAÇÃO

88

88SISTEMAS DE

INFORMAÇÃO8

88

8SISTEMAS DEINFORMAÇÃO

88SISTEMAS DE

INFORMAÇÃO8

88

8SISTEMAS DEINFORMAÇÃO

88

Hierarquia de Classes

É um tipo

de

Page 9: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

99

99SISTEMAS DE

INFORMAÇÃO9

99

9SISTEMAS DEINFORMAÇÃO

99SISTEMAS DE

INFORMAÇÃO9

99

9SISTEMAS DEINFORMAÇÃO

99

99SISTEMAS DE

INFORMAÇÃO9

9SISTEMAS DEINFORMAÇÃO

99

9

SISTEMAS DEINFORMAÇÃO

99

99 9SISTEMAS DEINFORMAÇÃO

99

99SISTEMAS DE

INFORMAÇÃO9

9SISTEMAS DEINFORMAÇÃO

99

99SISTEMAS DE

INFORMAÇÃO9

99

9SISTEMAS DEINFORMAÇÃO

99SISTEMAS DE

INFORMAÇÃO9

99

9SISTEMAS DEINFORMAÇÃO

99

Pessoa

Professorprivate int _anoDeAdmissao;private String _departamento;

private int _anoObtencaoDoutorado;private String _instituicaoDoutorado;

private int _anoDeIngresso;private String _curso;

private long _nrUsp;private String _rg;private long _cpf;

private String _nome;private char _sexo;

// 5 pares de mét. de acessovoid imprimeDados();

// 2 pares de mét. de acessovoid imprimeDados();

ProfessorDoutor

// 2 pares de mét. de acessovoid imprimeDados();

Aluno

// 2 pares de mét. de acessovoid imprimeDados();

public void imprimeDados(){

System.out.println(“Nome: “ + _nome);

System.out.println(“Nr USP: “ + _nrUsp);

System.out.println(“CPF: “ + _cpf);

System.out.println(“RG: “ + _rg);

System.out.println(“Sexo: “ + _sexo);

}

public void imprimeDados(){

super.imprimeDados();

System.out.println(“Ano de admissão: “ + _anoDeAdmissao);

System.out.println(“Departamento: “ + _departamento);

}

public void imprimeDados(){

super.imprimeDados();

System.out.println(“Ano de obtenção do título de Doutor: “ + _anoObtencaoDoutorado);

System.out.println(“Instituição do Doutorado: “ + _instituicaoDoutorado);

}

Page 10: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

1010

1010SISTEMAS DE

INFORMAÇÃO10

1010

10SISTEMAS DEINFORMAÇÃO

1010SISTEMAS DE

INFORMAÇÃO10

1010

10SISTEMAS DEINFORMAÇÃO

1010

1010SISTEMAS DE

INFORMAÇÃO10

10SISTEMAS DEINFORMAÇÃO

1010

10

SISTEMAS DEINFORMAÇÃO

1010

1010 10SISTEMAS DEINFORMAÇÃO

1010

1010SISTEMAS DE

INFORMAÇÃO10

10SISTEMAS DEINFORMAÇÃO

1010

1010SISTEMAS DE

INFORMAÇÃO10

1010

10SISTEMAS DEINFORMAÇÃO

1010SISTEMAS DE

INFORMAÇÃO10

1010

10SISTEMAS DEINFORMAÇÃO

1010

Exemploclass Pessoa{

(...)void quemEVoce() { System.out.println(“Sou uma pessoa”); }

}

class Aluno extends Pessoa{(...)

void quemEVoce() { System.out.println(“Sou um aluno”); }

}

class Professor extends Pessoa{

(...)void quemEVoce() { System.out.println(“Sou um professor”); }

}

class ProfessorDoutor extends Professor{(...)void quemEVoce() { System.out.println(“Sou um professor doutor”); }

}

Pessoa p1 = new Pessoa(); p1.quemEVoce(); // Sou uma pessoa

Aluno p2 = new Aluno(); p2.quemEVoce(); // Sou um aluno

Professor p3 = new Professor(); p3.quemEVoce(); // Sou um professor

ProfessorDoutor p4 = new ProfessorDoutor(); p4.quemEVoce(); // Sou um professor doutor

Page 11: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

1111

1111SISTEMAS DE

INFORMAÇÃO11

1111

11SISTEMAS DEINFORMAÇÃO

1111SISTEMAS DE

INFORMAÇÃO11

1111

11SISTEMAS DEINFORMAÇÃO

1111

1111SISTEMAS DE

INFORMAÇÃO11

11SISTEMAS DEINFORMAÇÃO

1111

11

SISTEMAS DEINFORMAÇÃO

1111

1111 11SISTEMAS DEINFORMAÇÃO

1111

1111SISTEMAS DE

INFORMAÇÃO11

11SISTEMAS DEINFORMAÇÃO

1111

1111SISTEMAS DE

INFORMAÇÃO11

1111

11SISTEMAS DEINFORMAÇÃO

1111SISTEMAS DE

INFORMAÇÃO11

1111

11SISTEMAS DEINFORMAÇÃO

1111

Exemploclass Pessoa{

(...)void quemEVoce() { System.out.println(“Sou uma pessoa”); }

}

class Aluno extends Pessoa{(...)

void quemEVoce() { System.out.println(“Sou um aluno”); }

}

class Professor extends Pessoa{

(...)void quemEVoce() { System.out.println(“Sou um professor”); }

}

class ProfessorDoutor extends Professor{(...)void quemEVoce() { System.out.println(“Sou um professor doutor”); }

}

Pessoa p1 = new Pessoa(); p1.quemEVoce(); // Sou uma pessoa

Aluno p2 = new Aluno(); p2.quemEVoce(); // Sou um aluno

Professor p3 = new Professor(); p3.quemEVoce(); // Sou um professor

ProfessorDoutor p4 = new ProfessorDoutor(); p4.quemEVoce(); // Sou um professor doutor

Em Java só é possível herdar de UMA classe!

Page 12: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

1212

1212SISTEMAS DE

INFORMAÇÃO12

1212

12SISTEMAS DEINFORMAÇÃO

1212SISTEMAS DE

INFORMAÇÃO12

1212

12SISTEMAS DEINFORMAÇÃO

1212

1212SISTEMAS DE

INFORMAÇÃO12

12SISTEMAS DEINFORMAÇÃO

1212

12

SISTEMAS DEINFORMAÇÃO

1212

1212 12SISTEMAS DEINFORMAÇÃO

1212

1212SISTEMAS DE

INFORMAÇÃO12

12SISTEMAS DEINFORMAÇÃO

1212

1212SISTEMAS DE

INFORMAÇÃO12

1212

12SISTEMAS DEINFORMAÇÃO

1212SISTEMAS DE

INFORMAÇÃO12

1212

12SISTEMAS DEINFORMAÇÃO

1212

class ComunidadeAcademica

{Pessoa [] comunidade = new Pessoa [5000];

int nrPessoas = 0;void inserePessoa(Pessoa p){

comunidade[nrPessoas] = p;

nrPessoas++;}Pessoa buscaPessoa (int nrUsp){

int i = 0;

while (i < nrPessoas){

if (comunidade[i].obtemNrUsp() == nrUsp)

return comunidade[i];

i++;

}

System.out.println("Pessoa não encontrada");

return null;

}void imprimeDados(){

for (int i=0; i<nrPessoas; i++)

comunidade[i].imprimeDados();

}

}

ComunidadeAcademica usp = new ComunidadeAcademica();

usp.inserePessoa(new Aluno(55, ... , “SI”));

usp.inserePessoa(new Professor(51, ..., “EACH”));

usp.inserePessoa(ProfessorDoutor(67, ....., “USP”));

usp.imprimeDados();

imprimeDados de que classe que será 

chamado?

Page 13: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

1313

1313SISTEMAS DE

INFORMAÇÃO13

1313

13SISTEMAS DEINFORMAÇÃO

1313SISTEMAS DE

INFORMAÇÃO13

1313

13SISTEMAS DEINFORMAÇÃO

1313

1313SISTEMAS DE

INFORMAÇÃO13

13SISTEMAS DEINFORMAÇÃO

1313

13

SISTEMAS DEINFORMAÇÃO

1313

1313 13SISTEMAS DEINFORMAÇÃO

1313

1313SISTEMAS DE

INFORMAÇÃO13

13SISTEMAS DEINFORMAÇÃO

1313

1313SISTEMAS DE

INFORMAÇÃO13

1313

13SISTEMAS DEINFORMAÇÃO

1313SISTEMAS DE

INFORMAÇÃO13

1313

13SISTEMAS DEINFORMAÇÃO

1313

class ComunidadeAcademica

{Pessoa [] comunidade = new Pessoa [5000];

int nrPessoas = 0;void inserePessoa(Pessoa p){

comunidade[nrPessoas] = p;

nrPessoas++;}Pessoa buscaPessoa (int nrUsp){

int i = 0;

while (i < nrPessoas){

if (comunidade[i].obtemNrUsp() == nrUsp)

return comunidade[i];

i++;

}

System.out.println("Pessoa não encontrada");

return null;

}void imprimeDados(){

for (int i=0; i<nrPessoas; i++)

comunidade[i].imprimeDados();

}

}

ComunidadeAcademica usp = new ComunidadeAcademica();

usp.inserePessoa(new Aluno(55, ... , “SI”));

usp.inserePessoa(new Professor(51, ..., “EACH”));

usp.inserePessoa(ProfessorDoutor(67, ....., “USP”));

usp.imprimeDados();

imprimeDados de que classe que será 

chamado?

Da classe que recebeu a chamada do new

Page 14: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

1414

1414SISTEMAS DE

INFORMAÇÃO14

1414

14SISTEMAS DEINFORMAÇÃO

1414SISTEMAS DE

INFORMAÇÃO14

1414

14SISTEMAS DEINFORMAÇÃO

1414

1414SISTEMAS DE

INFORMAÇÃO14

14SISTEMAS DEINFORMAÇÃO

1414

14

SISTEMAS DEINFORMAÇÃO

1414

1414 14SISTEMAS DEINFORMAÇÃO

1414

1414SISTEMAS DE

INFORMAÇÃO14

14SISTEMAS DEINFORMAÇÃO

1414

1414SISTEMAS DE

INFORMAÇÃO14

1414

14SISTEMAS DEINFORMAÇÃO

1414SISTEMAS DE

INFORMAÇÃO14

1414

14SISTEMAS DEINFORMAÇÃO

1414

class ComunidadeAcademica

{Pessoa [] comunidade = new Pessoa [5000];

int nrPessoas = 0;void inserePessoa(Pessoa p){

comunidade[nrPessoas] = p;

nrPessoas++;}Pessoa buscaPessoa (int nrUsp){

int i = 0;

while (i < nrPessoas){

if (comunidade[i].obtemNrUsp() == nrUsp)

return comunidade[i];

i++;

}

System.out.println("Pessoa não encontrada");

return null;

}void imprimeDados(){

for (int i=0; i<nrPessoas; i++)

comunidade[i].imprimeDados();

}

}

ComunidadeAcademica usp = new ComunidadeAcademica();

usp.inserePessoa(new Aluno(55, ... , “SI”));

usp.inserePessoa(new Professor(51, ..., “EACH”));

usp.inserePessoa(ProfessorDoutor(67, ....., “USP”));

usp.imprimeDados();

Associação DINÂMICA a 

métodos!!!

Page 15: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

1515

1515SISTEMAS DE

INFORMAÇÃO15

1515

15SISTEMAS DEINFORMAÇÃO

1515SISTEMAS DE

INFORMAÇÃO15

1515

15SISTEMAS DEINFORMAÇÃO

1515

1515SISTEMAS DE

INFORMAÇÃO15

15SISTEMAS DEINFORMAÇÃO

1515

15

SISTEMAS DEINFORMAÇÃO

1515

1515 15SISTEMAS DEINFORMAÇÃO

1515

1515SISTEMAS DE

INFORMAÇÃO15

15SISTEMAS DEINFORMAÇÃO

1515

1515SISTEMAS DE

INFORMAÇÃO15

1515

15SISTEMAS DEINFORMAÇÃO

1515SISTEMAS DE

INFORMAÇÃO15

1515

15SISTEMAS DEINFORMAÇÃO

1515

Controle de acesso

Page 16: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

1616

1616SISTEMAS DE

INFORMAÇÃO16

1616

16SISTEMAS DEINFORMAÇÃO

1616SISTEMAS DE

INFORMAÇÃO16

1616

16SISTEMAS DEINFORMAÇÃO

1616

1616SISTEMAS DE

INFORMAÇÃO16

16SISTEMAS DEINFORMAÇÃO

1616

16

SISTEMAS DEINFORMAÇÃO

1616

1616 16SISTEMAS DEINFORMAÇÃO

1616

1616SISTEMAS DE

INFORMAÇÃO16

16SISTEMAS DEINFORMAÇÃO

1616

1616SISTEMAS DE

INFORMAÇÃO16

1616

16SISTEMAS DEINFORMAÇÃO

1616SISTEMAS DE

INFORMAÇÃO16

1616

16SISTEMAS DEINFORMAÇÃO

161616SISTEMAS DE

INFORMAÇÃO16

1616

16SISTEMAS DEINFORMAÇÃO

1616SISTEMAS DE

INFORMAÇÃO16

1616

16SISTEMAS DEINFORMAÇÃO

1616

1616SISTEMAS DE

INFORMAÇÃO16

16SISTEMAS DEINFORMAÇÃO

1616

1616SISTEMAS DE

INFORMAÇÃO16

1616

Professoras:Ariane Machado LimaFátima L. S. Nunes

Interfaces

Page 17: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

1717

1717SISTEMAS DE

INFORMAÇÃO17

1717

17SISTEMAS DEINFORMAÇÃO

1717SISTEMAS DE

INFORMAÇÃO17

1717

17SISTEMAS DEINFORMAÇÃO

1717

1717SISTEMAS DE

INFORMAÇÃO17

17SISTEMAS DEINFORMAÇÃO

1717

17

SISTEMAS DEINFORMAÇÃO

1717

1717 17SISTEMAS DEINFORMAÇÃO

1717

1717SISTEMAS DE

INFORMAÇÃO17

17SISTEMAS DEINFORMAÇÃO

1717

1717SISTEMAS DE

INFORMAÇÃO17

1717

17SISTEMAS DEINFORMAÇÃO

1717SISTEMAS DE

INFORMAÇÃO17

1717

17SISTEMAS DEINFORMAÇÃO

171717SISTEMAS DE

INFORMAÇÃO17

1717

17SISTEMAS DEINFORMAÇÃO

1717SISTEMAS DE

INFORMAÇÃO17

1717

17SISTEMAS DEINFORMAÇÃO

1717

1717SISTEMAS DE

INFORMAÇÃO17

17SISTEMAS DEINFORMAÇÃO

1717

1717SISTEMAS DE

INFORMAÇÃO17

1717

Interface

• O que significa?

Page 18: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

1818

1818SISTEMAS DE

INFORMAÇÃO18

1818

18SISTEMAS DEINFORMAÇÃO

1818SISTEMAS DE

INFORMAÇÃO18

1818

18SISTEMAS DEINFORMAÇÃO

1818

1818SISTEMAS DE

INFORMAÇÃO18

18SISTEMAS DEINFORMAÇÃO

1818

18

SISTEMAS DEINFORMAÇÃO

1818

1818 18SISTEMAS DEINFORMAÇÃO

1818

1818SISTEMAS DE

INFORMAÇÃO18

18SISTEMAS DEINFORMAÇÃO

1818

1818SISTEMAS DE

INFORMAÇÃO18

1818

18SISTEMAS DEINFORMAÇÃO

1818SISTEMAS DE

INFORMAÇÃO18

1818

18SISTEMAS DEINFORMAÇÃO

181818SISTEMAS DE

INFORMAÇÃO18

1818

18SISTEMAS DEINFORMAÇÃO

1818SISTEMAS DE

INFORMAÇÃO18

1818

18SISTEMAS DEINFORMAÇÃO

1818

1818SISTEMAS DE

INFORMAÇÃO18

18SISTEMAS DEINFORMAÇÃO

1818

1818SISTEMAS DE

INFORMAÇÃO18

1818

Interface

• Definição:

• local onde dois sistemas independentes se

encontram.

• Ex: interface gráfica

Page 19: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

1919

1919SISTEMAS DE

INFORMAÇÃO19

1919

19SISTEMAS DEINFORMAÇÃO

1919SISTEMAS DE

INFORMAÇÃO19

1919

19SISTEMAS DEINFORMAÇÃO

1919

1919SISTEMAS DE

INFORMAÇÃO19

19SISTEMAS DEINFORMAÇÃO

1919

19

SISTEMAS DEINFORMAÇÃO

1919

1919 19SISTEMAS DEINFORMAÇÃO

1919

1919SISTEMAS DE

INFORMAÇÃO19

19SISTEMAS DEINFORMAÇÃO

1919

1919SISTEMAS DE

INFORMAÇÃO19

1919

19SISTEMAS DEINFORMAÇÃO

1919SISTEMAS DE

INFORMAÇÃO19

1919

19SISTEMAS DEINFORMAÇÃO

191919SISTEMAS DE

INFORMAÇÃO19

1919

19SISTEMAS DEINFORMAÇÃO

1919SISTEMAS DE

INFORMAÇÃO19

1919

19SISTEMAS DEINFORMAÇÃO

1919

1919SISTEMAS DE

INFORMAÇÃO19

19SISTEMAS DEINFORMAÇÃO

1919

1919SISTEMAS DE

INFORMAÇÃO19

1919

Interface

Page 20: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

2020

2020SISTEMAS DE

INFORMAÇÃO20

2020

20SISTEMAS DEINFORMAÇÃO

2020SISTEMAS DE

INFORMAÇÃO20

2020

20SISTEMAS DEINFORMAÇÃO

2020

2020SISTEMAS DE

INFORMAÇÃO20

20SISTEMAS DEINFORMAÇÃO

2020

20

SISTEMAS DEINFORMAÇÃO

2020

2020 20SISTEMAS DEINFORMAÇÃO

2020

2020SISTEMAS DE

INFORMAÇÃO20

20SISTEMAS DEINFORMAÇÃO

2020

2020SISTEMAS DE

INFORMAÇÃO20

2020

20SISTEMAS DEINFORMAÇÃO

2020SISTEMAS DE

INFORMAÇÃO20

2020

20SISTEMAS DEINFORMAÇÃO

202020SISTEMAS DE

INFORMAÇÃO20

2020

20SISTEMAS DEINFORMAÇÃO

2020SISTEMAS DE

INFORMAÇÃO20

2020

20SISTEMAS DEINFORMAÇÃO

2020

2020SISTEMAS DE

INFORMAÇÃO20

20SISTEMAS DEINFORMAÇÃO

2020

2020SISTEMAS DE

INFORMAÇÃO20

2020

Interface

• O que é API (Application Programming Interface) ?

• .... pensem na API do Java....

Page 21: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

2121

2121SISTEMAS DE

INFORMAÇÃO21

2121

21SISTEMAS DEINFORMAÇÃO

2121SISTEMAS DE

INFORMAÇÃO21

2121

21SISTEMAS DEINFORMAÇÃO

2121

2121SISTEMAS DE

INFORMAÇÃO21

21SISTEMAS DEINFORMAÇÃO

2121

21

SISTEMAS DEINFORMAÇÃO

2121

2121 21SISTEMAS DEINFORMAÇÃO

2121

2121SISTEMAS DE

INFORMAÇÃO21

21SISTEMAS DEINFORMAÇÃO

2121

2121SISTEMAS DE

INFORMAÇÃO21

2121

21SISTEMAS DEINFORMAÇÃO

2121SISTEMAS DE

INFORMAÇÃO21

2121

21SISTEMAS DEINFORMAÇÃO

212121SISTEMAS DE

INFORMAÇÃO21

2121

21SISTEMAS DEINFORMAÇÃO

2121SISTEMAS DE

INFORMAÇÃO21

2121

21SISTEMAS DEINFORMAÇÃO

2121

2121SISTEMAS DE

INFORMAÇÃO21

21SISTEMAS DEINFORMAÇÃO

2121

2121SISTEMAS DE

INFORMAÇÃO21

2121

Interface

• Encapsulamento ???

Page 22: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

2222

2222SISTEMAS DE

INFORMAÇÃO22

2222

22SISTEMAS DEINFORMAÇÃO

2222SISTEMAS DE

INFORMAÇÃO22

2222

22SISTEMAS DEINFORMAÇÃO

2222

2222SISTEMAS DE

INFORMAÇÃO22

22SISTEMAS DEINFORMAÇÃO

2222

22

SISTEMAS DEINFORMAÇÃO

2222

2222 22SISTEMAS DEINFORMAÇÃO

2222

2222SISTEMAS DE

INFORMAÇÃO22

22SISTEMAS DEINFORMAÇÃO

2222

2222SISTEMAS DE

INFORMAÇÃO22

2222

22SISTEMAS DEINFORMAÇÃO

2222SISTEMAS DE

INFORMAÇÃO22

2222

22SISTEMAS DEINFORMAÇÃO

222222SISTEMAS DE

INFORMAÇÃO22

2222

22SISTEMAS DEINFORMAÇÃO

2222SISTEMAS DE

INFORMAÇÃO22

2222

22SISTEMAS DEINFORMAÇÃO

2222

2222SISTEMAS DE

INFORMAÇÃO22

22SISTEMAS DEINFORMAÇÃO

2222

2222SISTEMAS DE

INFORMAÇÃO22

2222

Interface• Encapsulamento:

• Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da classe.

• Conhecendo apenas a interface de uma classe, podemos usar objetos da mesma sem conhecer detalhes de implementação.

• Interface = métodos disponíveis + suas respectivas assinaturas.

Page 23: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

2323

2323SISTEMAS DE

INFORMAÇÃO23

2323

23SISTEMAS DEINFORMAÇÃO

2323SISTEMAS DE

INFORMAÇÃO23

2323

23SISTEMAS DEINFORMAÇÃO

2323

2323SISTEMAS DE

INFORMAÇÃO23

23SISTEMAS DEINFORMAÇÃO

2323

23

SISTEMAS DEINFORMAÇÃO

2323

2323 23SISTEMAS DEINFORMAÇÃO

2323

2323SISTEMAS DE

INFORMAÇÃO23

23SISTEMAS DEINFORMAÇÃO

2323

2323SISTEMAS DE

INFORMAÇÃO23

2323

23SISTEMAS DEINFORMAÇÃO

2323SISTEMAS DE

INFORMAÇÃO23

2323

23SISTEMAS DEINFORMAÇÃO

232323SISTEMAS DE

INFORMAÇÃO23

2323

23SISTEMAS DEINFORMAÇÃO

2323SISTEMAS DE

INFORMAÇÃO23

2323

23SISTEMAS DEINFORMAÇÃO

2323

2323SISTEMAS DE

INFORMAÇÃO23

23SISTEMAS DEINFORMAÇÃO

2323

2323SISTEMAS DE

INFORMAÇÃO23

2323

Interface• Interface:

• Útil também quando queremos ter uma classe, mas não implementá-la.

• Muito interessante na fase de especificação de um Sistema.

• Ex: eu poderia definir uma interface de Pessoa (isto é, métodos que uma Pessoa deveria saber executar) sem ter que implementá-la

• Implementação ficaria por conta das “subclasses”

Page 24: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

2424

2424SISTEMAS DE

INFORMAÇÃO24

2424

24SISTEMAS DEINFORMAÇÃO

2424SISTEMAS DE

INFORMAÇÃO24

2424

24SISTEMAS DEINFORMAÇÃO

2424

2424SISTEMAS DE

INFORMAÇÃO24

24SISTEMAS DEINFORMAÇÃO

2424

24

SISTEMAS DEINFORMAÇÃO

2424

2424 24SISTEMAS DEINFORMAÇÃO

2424

2424SISTEMAS DE

INFORMAÇÃO24

24SISTEMAS DEINFORMAÇÃO

2424

2424SISTEMAS DE

INFORMAÇÃO24

2424

24SISTEMAS DEINFORMAÇÃO

2424SISTEMAS DE

INFORMAÇÃO24

2424

24SISTEMAS DEINFORMAÇÃO

2424

class ComunidadeAcademica

{Pessoa [] comunidade = new Pessoa [5000];

int nrPessoas = 0;void inserePessoa(Pessoa p){

comunidade[nrPessoas] = p;

nrPessoas++;}Pessoa buscaPessoa (int nrUsp){

int i = 0;

while (i < nrPessoas){

if (comunidade[i].obtemNrUsp() == nrUsp)

return comunidade[i];

i++;

}

System.out.println("Pessoa não encontrada");

return null;

}void imprimeDados(){

for (int i=0; i<nrPessoas; i++)

comunidade[i].imprimeDados();

}

}

Neste exemplo, quemétodos Pessoa deveria saber executar?

Page 25: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

2525

2525SISTEMAS DE

INFORMAÇÃO25

2525

25SISTEMAS DEINFORMAÇÃO

2525SISTEMAS DE

INFORMAÇÃO25

2525

25SISTEMAS DEINFORMAÇÃO

2525

2525SISTEMAS DE

INFORMAÇÃO25

25SISTEMAS DEINFORMAÇÃO

2525

25

SISTEMAS DEINFORMAÇÃO

2525

2525 25SISTEMAS DEINFORMAÇÃO

2525

2525SISTEMAS DE

INFORMAÇÃO25

25SISTEMAS DEINFORMAÇÃO

2525

2525SISTEMAS DE

INFORMAÇÃO25

2525

25SISTEMAS DEINFORMAÇÃO

2525SISTEMAS DE

INFORMAÇÃO25

2525

25SISTEMAS DEINFORMAÇÃO

2525

class ComunidadeAcademica

{Pessoa [] comunidade = new Pessoa [5000];

int nrPessoas = 0;void inserePessoa(Pessoa p){

comunidade[nrPessoas] = p;

nrPessoas++;}Pessoa buscaPessoa (int nrUsp){

int i = 0;

while (i < nrPessoas){

if (comunidade[i].obtemNrUsp() == nrUsp)

return comunidade[i];

i++;

}

System.out.println("Pessoa não encontrada");

return null;

}void imprimeDados(){

for (int i=0; i<nrPessoas; i++)

comunidade[i].imprimeDados();

}

}

Neste exemplo, quemétodos Pessoa deveria saber executar?

Page 26: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

2626

2626SISTEMAS DE

INFORMAÇÃO26

2626

26SISTEMAS DEINFORMAÇÃO

2626SISTEMAS DE

INFORMAÇÃO26

2626

26SISTEMAS DEINFORMAÇÃO

2626

2626SISTEMAS DE

INFORMAÇÃO26

26SISTEMAS DEINFORMAÇÃO

2626

26

SISTEMAS DEINFORMAÇÃO

2626

2626 26SISTEMAS DEINFORMAÇÃO

2626

2626SISTEMAS DE

INFORMAÇÃO26

26SISTEMAS DEINFORMAÇÃO

2626

2626SISTEMAS DE

INFORMAÇÃO26

2626

26SISTEMAS DEINFORMAÇÃO

2626SISTEMAS DE

INFORMAÇÃO26

2626

26SISTEMAS DEINFORMAÇÃO

262626SISTEMAS DE

INFORMAÇÃO26

2626

26SISTEMAS DEINFORMAÇÃO

2626SISTEMAS DE

INFORMAÇÃO26

2626

26SISTEMAS DEINFORMAÇÃO

2626

2626SISTEMAS DE

INFORMAÇÃO26

26SISTEMAS DEINFORMAÇÃO

2626

2626SISTEMAS DE

INFORMAÇÃO26

2626

Interface• Um exemplo: criação de um zoológico virtual

• Vários tipos de animais

• Mensagens para cada animal:

• nasça()

• passeiePelaTela()

• durma()

Page 27: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

2727

2727SISTEMAS DE

INFORMAÇÃO27

2727

27SISTEMAS DEINFORMAÇÃO

2727SISTEMAS DE

INFORMAÇÃO27

2727

27SISTEMAS DEINFORMAÇÃO

2727

2727SISTEMAS DE

INFORMAÇÃO27

27SISTEMAS DEINFORMAÇÃO

2727

27

SISTEMAS DEINFORMAÇÃO

2727

2727 27SISTEMAS DEINFORMAÇÃO

2727

2727SISTEMAS DE

INFORMAÇÃO27

27SISTEMAS DEINFORMAÇÃO

2727

2727SISTEMAS DE

INFORMAÇÃO27

2727

27SISTEMAS DEINFORMAÇÃO

2727SISTEMAS DE

INFORMAÇÃO27

2727

27SISTEMAS DEINFORMAÇÃO

272727SISTEMAS DE

INFORMAÇÃO27

2727

27SISTEMAS DEINFORMAÇÃO

2727SISTEMAS DE

INFORMAÇÃO27

2727

27SISTEMAS DEINFORMAÇÃO

2727

2727SISTEMAS DE

INFORMAÇÃO27

27SISTEMAS DEINFORMAÇÃO

2727

2727SISTEMAS DE

INFORMAÇÃO27

2727

Interface• Um exemplo: criação de um zoológico virtual

• Mas você não conhece os animais !!!

• Como um morcego nasce?

• Como uma zebra dorme?

• Como um pato anda?

Page 28: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

2828

2828SISTEMAS DE

INFORMAÇÃO28

2828

28SISTEMAS DEINFORMAÇÃO

2828SISTEMAS DE

INFORMAÇÃO28

2828

28SISTEMAS DEINFORMAÇÃO

2828

2828SISTEMAS DE

INFORMAÇÃO28

28SISTEMAS DEINFORMAÇÃO

2828

28

SISTEMAS DEINFORMAÇÃO

2828

2828 28SISTEMAS DEINFORMAÇÃO

2828

2828SISTEMAS DE

INFORMAÇÃO28

28SISTEMAS DEINFORMAÇÃO

2828

2828SISTEMAS DE

INFORMAÇÃO28

2828

28SISTEMAS DEINFORMAÇÃO

2828SISTEMAS DE

INFORMAÇÃO28

2828

28SISTEMAS DEINFORMAÇÃO

282828SISTEMAS DE

INFORMAÇÃO28

2828

28SISTEMAS DEINFORMAÇÃO

2828SISTEMAS DE

INFORMAÇÃO28

2828

28SISTEMAS DEINFORMAÇÃO

2828

2828SISTEMAS DE

INFORMAÇÃO28

28SISTEMAS DEINFORMAÇÃO

2828

2828SISTEMAS DE

INFORMAÇÃO28

2828

Interface• Um exemplo: criação de um zoológico virtual

• Como fazer ???

Page 29: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

2929

2929SISTEMAS DE

INFORMAÇÃO29

2929

29SISTEMAS DEINFORMAÇÃO

2929SISTEMAS DE

INFORMAÇÃO29

2929

29SISTEMAS DEINFORMAÇÃO

2929

2929SISTEMAS DE

INFORMAÇÃO29

29SISTEMAS DEINFORMAÇÃO

2929

29

SISTEMAS DEINFORMAÇÃO

2929

2929 29SISTEMAS DEINFORMAÇÃO

2929

2929SISTEMAS DE

INFORMAÇÃO29

29SISTEMAS DEINFORMAÇÃO

2929

2929SISTEMAS DE

INFORMAÇÃO29

2929

29SISTEMAS DEINFORMAÇÃO

2929SISTEMAS DE

INFORMAÇÃO29

2929

29SISTEMAS DEINFORMAÇÃO

292929SISTEMAS DE

INFORMAÇÃO29

2929

29SISTEMAS DEINFORMAÇÃO

2929SISTEMAS DE

INFORMAÇÃO29

2929

29SISTEMAS DEINFORMAÇÃO

2929

2929SISTEMAS DE

INFORMAÇÃO29

29SISTEMAS DEINFORMAÇÃO

2929

2929SISTEMAS DE

INFORMAÇÃO29

2929

Interface• Um exemplo: criação de um zoológico virtual

• Como fazer ???

• Pedir para alguém que conhece os animais implementar as classes necessárias. Exemplo: Zebra, Morcego e Pato

• Só que eu preciso ter um padrão para todos os animais...

• Então...

Page 30: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

3030

3030SISTEMAS DE

INFORMAÇÃO30

3030

30SISTEMAS DEINFORMAÇÃO

3030SISTEMAS DE

INFORMAÇÃO30

3030

30SISTEMAS DEINFORMAÇÃO

3030

3030SISTEMAS DE

INFORMAÇÃO30

30SISTEMAS DEINFORMAÇÃO

3030

30

SISTEMAS DEINFORMAÇÃO

3030

3030 30SISTEMAS DEINFORMAÇÃO

3030

3030SISTEMAS DE

INFORMAÇÃO30

30SISTEMAS DEINFORMAÇÃO

3030

3030SISTEMAS DE

INFORMAÇÃO30

3030

30SISTEMAS DEINFORMAÇÃO

3030SISTEMAS DE

INFORMAÇÃO30

3030

30SISTEMAS DEINFORMAÇÃO

303030SISTEMAS DE

INFORMAÇÃO30

3030

30SISTEMAS DEINFORMAÇÃO

3030SISTEMAS DE

INFORMAÇÃO30

3030

30SISTEMAS DEINFORMAÇÃO

3030

3030SISTEMAS DE

INFORMAÇÃO30

30SISTEMAS DEINFORMAÇÃO

3030

3030SISTEMAS DE

INFORMAÇÃO30

3030

Interface• Um exemplo: criação de um zoológico virtual

interface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

Page 31: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

3131

3131SISTEMAS DE

INFORMAÇÃO31

3131

31SISTEMAS DEINFORMAÇÃO

3131SISTEMAS DE

INFORMAÇÃO31

3131

31SISTEMAS DEINFORMAÇÃO

3131

3131SISTEMAS DE

INFORMAÇÃO31

31SISTEMAS DEINFORMAÇÃO

3131

31

SISTEMAS DEINFORMAÇÃO

3131

3131 31SISTEMAS DEINFORMAÇÃO

3131

3131SISTEMAS DE

INFORMAÇÃO31

31SISTEMAS DEINFORMAÇÃO

3131

3131SISTEMAS DE

INFORMAÇÃO31

3131

31SISTEMAS DEINFORMAÇÃO

3131SISTEMAS DE

INFORMAÇÃO31

3131

31SISTEMAS DEINFORMAÇÃO

313131SISTEMAS DE

INFORMAÇÃO31

3131

31SISTEMAS DEINFORMAÇÃO

3131SISTEMAS DE

INFORMAÇÃO31

3131

31SISTEMAS DEINFORMAÇÃO

3131

3131SISTEMAS DE

INFORMAÇÃO31

31SISTEMAS DEINFORMAÇÃO

3131

3131SISTEMAS DE

INFORMAÇÃO31

3131

Interface• Um exemplo: criação de um zoológico virtual

interface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

O programador que vai implementar a classe Morcego deve declarar explicitamente que vai usar a interface Animal ⇨ palavra chave implements

Page 32: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

3232

3232SISTEMAS DE

INFORMAÇÃO32

3232

32SISTEMAS DEINFORMAÇÃO

3232SISTEMAS DE

INFORMAÇÃO32

3232

32SISTEMAS DEINFORMAÇÃO

3232

3232SISTEMAS DE

INFORMAÇÃO32

32SISTEMAS DEINFORMAÇÃO

3232

32

SISTEMAS DEINFORMAÇÃO

3232

3232 32SISTEMAS DEINFORMAÇÃO

3232

3232SISTEMAS DE

INFORMAÇÃO32

32SISTEMAS DEINFORMAÇÃO

3232

3232SISTEMAS DE

INFORMAÇÃO32

3232

32SISTEMAS DEINFORMAÇÃO

3232SISTEMAS DE

INFORMAÇÃO32

3232

32SISTEMAS DEINFORMAÇÃO

323232SISTEMAS DE

INFORMAÇÃO32

3232

32SISTEMAS DEINFORMAÇÃO

3232SISTEMAS DE

INFORMAÇÃO32

3232

32SISTEMAS DEINFORMAÇÃO

3232

3232SISTEMAS DE

INFORMAÇÃO32

32SISTEMAS DEINFORMAÇÃO

3232

3232SISTEMAS DE

INFORMAÇÃO32

3232

Interfaceinterface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

public class Morcego implements Animal{

   public void nasça()   {      System.out.println("Nasceu um morceguinho...");   }

   public void passeiePelaTela()   {      System.out.println("Voo rápido e rasante !!!");   }

  public void durma()   {      System.out.println("Dorme de cabeça para baixo.");   }

  public double peso()   {      System.out.println("Este é um morcego gordo!");      return (4.5);   }

}

Page 33: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

3333

3333SISTEMAS DE

INFORMAÇÃO33

3333

33SISTEMAS DEINFORMAÇÃO

3333SISTEMAS DE

INFORMAÇÃO33

3333

33SISTEMAS DEINFORMAÇÃO

3333

3333SISTEMAS DE

INFORMAÇÃO33

33SISTEMAS DEINFORMAÇÃO

3333

33

SISTEMAS DEINFORMAÇÃO

3333

3333 33SISTEMAS DEINFORMAÇÃO

3333

3333SISTEMAS DE

INFORMAÇÃO33

33SISTEMAS DEINFORMAÇÃO

3333

3333SISTEMAS DE

INFORMAÇÃO33

3333

33SISTEMAS DEINFORMAÇÃO

3333SISTEMAS DE

INFORMAÇÃO33

3333

33SISTEMAS DEINFORMAÇÃO

333333SISTEMAS DE

INFORMAÇÃO33

3333

33SISTEMAS DEINFORMAÇÃO

3333SISTEMAS DE

INFORMAÇÃO33

3333

33SISTEMAS DEINFORMAÇÃO

3333

3333SISTEMAS DE

INFORMAÇÃO33

33SISTEMAS DEINFORMAÇÃO

3333

3333SISTEMAS DE

INFORMAÇÃO33

3333

Interfaceinterface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

public class Morcego implements Animal{

   public void nasça()   {      System.out.println(“Nasceu um morceguinho...”);   }

  public passeioPelaTela()   {      System.out.println(“Voo rápido e rasante !!!”);   }

  public durma()   {      System.out.println(“Dorme de cabeça para baixo.”);   }

 double peso()   {      System.out.println(“Este é um morcego gordo!”);      return (4.5);   }

}

implements – obriga o programador a escrever o código de todos os métodos, considerando suas assinaturas.Todos os métodos da interface devem ser públicos. Por quê?

Page 34: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

3434

3434SISTEMAS DE

INFORMAÇÃO34

3434

34SISTEMAS DEINFORMAÇÃO

3434SISTEMAS DE

INFORMAÇÃO34

3434

34SISTEMAS DEINFORMAÇÃO

3434

3434SISTEMAS DE

INFORMAÇÃO34

34SISTEMAS DEINFORMAÇÃO

3434

34

SISTEMAS DEINFORMAÇÃO

3434

3434 34SISTEMAS DEINFORMAÇÃO

3434

3434SISTEMAS DE

INFORMAÇÃO34

34SISTEMAS DEINFORMAÇÃO

3434

3434SISTEMAS DE

INFORMAÇÃO34

3434

34SISTEMAS DEINFORMAÇÃO

3434SISTEMAS DE

INFORMAÇÃO34

3434

34SISTEMAS DEINFORMAÇÃO

343434SISTEMAS DE

INFORMAÇÃO34

3434

34SISTEMAS DEINFORMAÇÃO

3434SISTEMAS DE

INFORMAÇÃO34

3434

34SISTEMAS DEINFORMAÇÃO

3434

3434SISTEMAS DE

INFORMAÇÃO34

34SISTEMAS DEINFORMAÇÃO

3434

3434SISTEMAS DE

INFORMAÇÃO34

3434

Interfaceinterface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

public class Morcego implements Animal{

   public void nasça()   {      System.out.println(“Nasceu um morceguinho...”);   }

  public passeioPelaTela()   {      System.out.println(“Voo rápido e rasante !!!”);   }

  public durma()   {      System.out.println(“Dorme de cabeça para baixo.”);   }

 double peso()   {      System.out.println(“Este é um morcego gordo!”);      return (4.5);   }

}

implements – obriga o programador a escrever o código de todos os métodos, considerando suas assinaturas.Todos os métodos da interface devem ser públicos.

Não definimos especificadores de acesso na interface, pelo mesmo motivo. 

Page 35: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

3535

3535SISTEMAS DE

INFORMAÇÃO35

3535

35SISTEMAS DEINFORMAÇÃO

3535SISTEMAS DE

INFORMAÇÃO35

3535

35SISTEMAS DEINFORMAÇÃO

3535

3535SISTEMAS DE

INFORMAÇÃO35

35SISTEMAS DEINFORMAÇÃO

3535

35

SISTEMAS DEINFORMAÇÃO

3535

3535 35SISTEMAS DEINFORMAÇÃO

3535

3535SISTEMAS DE

INFORMAÇÃO35

35SISTEMAS DEINFORMAÇÃO

3535

3535SISTEMAS DE

INFORMAÇÃO35

3535

35SISTEMAS DEINFORMAÇÃO

3535SISTEMAS DE

INFORMAÇÃO35

3535

35SISTEMAS DEINFORMAÇÃO

353535SISTEMAS DE

INFORMAÇÃO35

3535

35SISTEMAS DEINFORMAÇÃO

3535SISTEMAS DE

INFORMAÇÃO35

3535

35SISTEMAS DEINFORMAÇÃO

3535

3535SISTEMAS DE

INFORMAÇÃO35

35SISTEMAS DEINFORMAÇÃO

3535

3535SISTEMAS DE

INFORMAÇÃO35

3535

Interfaceinterface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

public class Pato implements Animal{

public double peso;

   Pato(double p)   {      peso = p;   }      public void nasça()   {      System.out.println("Quebra o ovo.");   }

  public void passeiePelaTela()   {      System.out.println("Anda em duas patas. Quá Quá Quá.");   }

  public void durma()   {      System.out.println("Dorme em pé.");   }

  public double peso()   {      return peso;   }

}

Page 36: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

3636

3636SISTEMAS DE

INFORMAÇÃO36

3636

36SISTEMAS DEINFORMAÇÃO

3636SISTEMAS DE

INFORMAÇÃO36

3636

36SISTEMAS DEINFORMAÇÃO

3636

3636SISTEMAS DE

INFORMAÇÃO36

36SISTEMAS DEINFORMAÇÃO

3636

36

SISTEMAS DEINFORMAÇÃO

3636

3636 36SISTEMAS DEINFORMAÇÃO

3636

3636SISTEMAS DE

INFORMAÇÃO36

36SISTEMAS DEINFORMAÇÃO

3636

3636SISTEMAS DE

INFORMAÇÃO36

3636

36SISTEMAS DEINFORMAÇÃO

3636SISTEMAS DE

INFORMAÇÃO36

3636

36SISTEMAS DEINFORMAÇÃO

363636SISTEMAS DE

INFORMAÇÃO36

3636

36SISTEMAS DEINFORMAÇÃO

3636SISTEMAS DE

INFORMAÇÃO36

3636

36SISTEMAS DEINFORMAÇÃO

3636

3636SISTEMAS DE

INFORMAÇÃO36

36SISTEMAS DEINFORMAÇÃO

3636

3636SISTEMAS DE

INFORMAÇÃO36

3636

Interfaceinterface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

public class Zebra implements Animal{

   double peso;   int listras;      Zebra(double p, int l)   {      peso = p;      listras =l;   }      public void nasça()   {      System.out.println("Zebrinha bebê nascendo...");   }

   public void passeiePelaTela()   {     System.out.println("Zebra galopa pela tela.");   }

   public void durma()   {     System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");   }

   public double peso()   {     return peso;   }

   public void exibeListras()   {     System.out.println("Minha zebra tem " + listras + "listras.");   }

}

Page 37: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

3737

3737SISTEMAS DE

INFORMAÇÃO37

3737

37SISTEMAS DEINFORMAÇÃO

3737SISTEMAS DE

INFORMAÇÃO37

3737

37SISTEMAS DEINFORMAÇÃO

3737

3737SISTEMAS DE

INFORMAÇÃO37

37SISTEMAS DEINFORMAÇÃO

3737

37

SISTEMAS DEINFORMAÇÃO

3737

3737 37SISTEMAS DEINFORMAÇÃO

3737

3737SISTEMAS DE

INFORMAÇÃO37

37SISTEMAS DEINFORMAÇÃO

3737

3737SISTEMAS DE

INFORMAÇÃO37

3737

37SISTEMAS DEINFORMAÇÃO

3737SISTEMAS DE

INFORMAÇÃO37

3737

37SISTEMAS DEINFORMAÇÃO

373737SISTEMAS DE

INFORMAÇÃO37

3737

37SISTEMAS DEINFORMAÇÃO

3737SISTEMAS DE

INFORMAÇÃO37

3737

37SISTEMAS DEINFORMAÇÃO

3737

3737SISTEMAS DE

INFORMAÇÃO37

37SISTEMAS DEINFORMAÇÃO

3737

3737SISTEMAS DE

INFORMAÇÃO37

3737

Interfaceinterface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

public class Zebra implements Animal{

   double peso;   int listras;      Zebra(double p, int l)   {      peso = p;      listras =l;   }      public void nasça()   {      System.out.println("Zebrinha bebê nascendo...");   }

   public void passeiePelaTela()   {     System.out.println("Zebra galopa pela tela.");   }

   public void durma()   {     System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");   }

   public double peso()   {     return peso;   }

   public void exibeListras()   {     System.out.println("Minha zebra tem " + listras + "listras.");   }

}

Pode ter métodos extras (específicos 

da classe)

Page 38: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

3838

3838SISTEMAS DE

INFORMAÇÃO38

3838

38SISTEMAS DEINFORMAÇÃO

3838SISTEMAS DE

INFORMAÇÃO38

3838

38SISTEMAS DEINFORMAÇÃO

3838

3838SISTEMAS DE

INFORMAÇÃO38

38SISTEMAS DEINFORMAÇÃO

3838

38

SISTEMAS DEINFORMAÇÃO

3838

3838 38SISTEMAS DEINFORMAÇÃO

3838

3838SISTEMAS DE

INFORMAÇÃO38

38SISTEMAS DEINFORMAÇÃO

3838

3838SISTEMAS DE

INFORMAÇÃO38

3838

38SISTEMAS DEINFORMAÇÃO

3838SISTEMAS DE

INFORMAÇÃO38

3838

38SISTEMAS DEINFORMAÇÃO

383838SISTEMAS DE

INFORMAÇÃO38

3838

38SISTEMAS DEINFORMAÇÃO

3838SISTEMAS DE

INFORMAÇÃO38

3838

38SISTEMAS DEINFORMAÇÃO

3838

3838SISTEMAS DE

INFORMAÇÃO38

38SISTEMAS DEINFORMAÇÃO

3838

3838SISTEMAS DE

INFORMAÇÃO38

3838

Interface• Observação sobre arquivos X classes em Java:

• normalmente cada classe vai em um arquivo .java de mesmo nome da classe

• cada arquivo “.java” pode ter no máximo uma classe pública (do tipo public);

• caso exista uma classe pública, seu nome deve ser igual ao do arquivo “.java”;

• desta forma, as classes anteriores (Morcego, Pato e Zebra) devem obrigatoriamente estar em arquivos separados.

Page 39: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

3939

3939SISTEMAS DE

INFORMAÇÃO39

3939

39SISTEMAS DEINFORMAÇÃO

3939SISTEMAS DE

INFORMAÇÃO39

3939

39SISTEMAS DEINFORMAÇÃO

3939

3939SISTEMAS DE

INFORMAÇÃO39

39SISTEMAS DEINFORMAÇÃO

3939

39

SISTEMAS DEINFORMAÇÃO

3939

3939 39SISTEMAS DEINFORMAÇÃO

3939

3939SISTEMAS DE

INFORMAÇÃO39

39SISTEMAS DEINFORMAÇÃO

3939

3939SISTEMAS DE

INFORMAÇÃO39

3939

39SISTEMAS DEINFORMAÇÃO

3939SISTEMAS DE

INFORMAÇÃO39

3939

39SISTEMAS DEINFORMAÇÃO

393939SISTEMAS DE

INFORMAÇÃO39

3939

39SISTEMAS DEINFORMAÇÃO

3939SISTEMAS DE

INFORMAÇÃO39

3939

39SISTEMAS DEINFORMAÇÃO

3939

3939SISTEMAS DE

INFORMAÇÃO39

39SISTEMAS DEINFORMAÇÃO

3939

3939SISTEMAS DE

INFORMAÇÃO39

3939

Interface• Observação sobre interfaces:

• não podemos criar objetos a partir de uma interface

• no exemplo, não podemos criar objetos diretamente da classe Animal

• criamos objetos a partir das classes que implementam a interface (Morcego, Pato e Zebra)

• no entanto, cada objeto criado, além de ser um objeto da classe respectiva, também é um objeto do tipo Animal (INTERFACE TAMBÉM DEFINE UM TIPO).

• Vamos usar as classes criadas…

Page 40: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

4040

4040SISTEMAS DE

INFORMAÇÃO40

4040

40SISTEMAS DEINFORMAÇÃO

4040SISTEMAS DE

INFORMAÇÃO40

4040

40SISTEMAS DEINFORMAÇÃO

4040

4040SISTEMAS DE

INFORMAÇÃO40

40SISTEMAS DEINFORMAÇÃO

4040

40

SISTEMAS DEINFORMAÇÃO

4040

4040 40SISTEMAS DEINFORMAÇÃO

4040

4040SISTEMAS DE

INFORMAÇÃO40

40SISTEMAS DEINFORMAÇÃO

4040

4040SISTEMAS DE

INFORMAÇÃO40

4040

40SISTEMAS DEINFORMAÇÃO

4040SISTEMAS DE

INFORMAÇÃO40

4040

40SISTEMAS DEINFORMAÇÃO

404040SISTEMAS DE

INFORMAÇÃO40

4040

40SISTEMAS DEINFORMAÇÃO

4040SISTEMAS DE

INFORMAÇÃO40

4040

40SISTEMAS DEINFORMAÇÃO

4040

4040SISTEMAS DE

INFORMAÇÃO40

40SISTEMAS DEINFORMAÇÃO

4040

4040SISTEMAS DE

INFORMAÇÃO40

4040

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50, 105); Animal zebraGrande = new Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

O que significa?

Page 41: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

4141

4141SISTEMAS DE

INFORMAÇÃO41

4141

41SISTEMAS DEINFORMAÇÃO

4141SISTEMAS DE

INFORMAÇÃO41

4141

41SISTEMAS DEINFORMAÇÃO

4141

4141SISTEMAS DE

INFORMAÇÃO41

41SISTEMAS DEINFORMAÇÃO

4141

41

SISTEMAS DEINFORMAÇÃO

4141

4141 41SISTEMAS DEINFORMAÇÃO

4141

4141SISTEMAS DE

INFORMAÇÃO41

41SISTEMAS DEINFORMAÇÃO

4141

4141SISTEMAS DE

INFORMAÇÃO41

4141

41SISTEMAS DEINFORMAÇÃO

4141SISTEMAS DE

INFORMAÇÃO41

4141

41SISTEMAS DEINFORMAÇÃO

414141SISTEMAS DE

INFORMAÇÃO41

4141

41SISTEMAS DEINFORMAÇÃO

4141SISTEMAS DE

INFORMAÇÃO41

4141

41SISTEMAS DEINFORMAÇÃO

4141

4141SISTEMAS DE

INFORMAÇÃO41

41SISTEMAS DEINFORMAÇÃO

4141

4141SISTEMAS DE

INFORMAÇÃO41

4141

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50, 105); Animal zebraGrande = new Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

O que significa?Posso executar os métodos sem ter objetos instanciados

Page 42: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

4242

4242SISTEMAS DE

INFORMAÇÃO42

4242

42SISTEMAS DEINFORMAÇÃO

4242SISTEMAS DE

INFORMAÇÃO42

4242

42SISTEMAS DEINFORMAÇÃO

4242

4242SISTEMAS DE

INFORMAÇÃO42

42SISTEMAS DEINFORMAÇÃO

4242

42

SISTEMAS DEINFORMAÇÃO

4242

4242 42SISTEMAS DEINFORMAÇÃO

4242

4242SISTEMAS DE

INFORMAÇÃO42

42SISTEMAS DEINFORMAÇÃO

4242

4242SISTEMAS DE

INFORMAÇÃO42

4242

42SISTEMAS DEINFORMAÇÃO

4242SISTEMAS DE

INFORMAÇÃO42

4242

42SISTEMAS DEINFORMAÇÃO

424242SISTEMAS DE

INFORMAÇÃO42

4242

42SISTEMAS DEINFORMAÇÃO

4242SISTEMAS DE

INFORMAÇÃO42

4242

42SISTEMAS DEINFORMAÇÃO

4242

4242SISTEMAS DE

INFORMAÇÃO42

42SISTEMAS DEINFORMAÇÃO

4242

4242SISTEMAS DE

INFORMAÇÃO42

4242

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50, 105); Animal zebraGrande = new Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

> Zoologico.fazFuncionar()Zebrinha bebê nascendo...Zebra galopa pela tela.Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...Zebrinha bebê nascendo...Zebra galopa pela tela.Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...Nasceu um morceguinho...Voo rápido e rasante !!!Dorme de cabeça para baixo.Quebra o ovo.Anda em duas patas. Quá Quá QuáDorme em pé

Page 43: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

4343

4343SISTEMAS DE

INFORMAÇÃO43

4343

43SISTEMAS DEINFORMAÇÃO

4343SISTEMAS DE

INFORMAÇÃO43

4343

43SISTEMAS DEINFORMAÇÃO

4343

4343SISTEMAS DE

INFORMAÇÃO43

43SISTEMAS DEINFORMAÇÃO

4343

43

SISTEMAS DEINFORMAÇÃO

4343

4343 43SISTEMAS DEINFORMAÇÃO

4343

4343SISTEMAS DE

INFORMAÇÃO43

43SISTEMAS DEINFORMAÇÃO

4343

4343SISTEMAS DE

INFORMAÇÃO43

4343

43SISTEMAS DEINFORMAÇÃO

4343SISTEMAS DE

INFORMAÇÃO43

4343

43SISTEMAS DEINFORMAÇÃO

434343SISTEMAS DE

INFORMAÇÃO43

4343

43SISTEMAS DEINFORMAÇÃO

4343SISTEMAS DE

INFORMAÇÃO43

4343

43SISTEMAS DEINFORMAÇÃO

4343

4343SISTEMAS DE

INFORMAÇÃO43

43SISTEMAS DEINFORMAÇÃO

4343

4343SISTEMAS DE

INFORMAÇÃO43

4343

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50, 105); Animal zebraGrande = new Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

Observe este código?Quais as consequências dessas definições ???

Page 44: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

4444

4444SISTEMAS DE

INFORMAÇÃO44

4444

44SISTEMAS DEINFORMAÇÃO

4444SISTEMAS DE

INFORMAÇÃO44

4444

44SISTEMAS DEINFORMAÇÃO

4444

4444SISTEMAS DE

INFORMAÇÃO44

44SISTEMAS DEINFORMAÇÃO

4444

44

SISTEMAS DEINFORMAÇÃO

4444

4444 44SISTEMAS DEINFORMAÇÃO

4444

4444SISTEMAS DE

INFORMAÇÃO44

44SISTEMAS DEINFORMAÇÃO

4444

4444SISTEMAS DE

INFORMAÇÃO44

4444

44SISTEMAS DEINFORMAÇÃO

4444SISTEMAS DE

INFORMAÇÃO44

4444

44SISTEMAS DEINFORMAÇÃO

444444SISTEMAS DE

INFORMAÇÃO44

4444

44SISTEMAS DEINFORMAÇÃO

4444SISTEMAS DE

INFORMAÇÃO44

4444

44SISTEMAS DEINFORMAÇÃO

4444

4444SISTEMAS DE

INFORMAÇÃO44

44SISTEMAS DEINFORMAÇÃO

4444

4444SISTEMAS DE

INFORMAÇÃO44

4444

public class Zebra implements Animal{

   double peso;   int listras;      Zebra(double p, int l)   {      peso = p;      listras =l;   }      public void nasça()   {      System.out.println("Zebrinha bebê nascendo...");   }

   public void passeiePelaTela()   {     System.out.println("Zebra galopa pela tela.");   }

   public void durma()   {     System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");   }

   public double peso()   {     return peso;   }

   public void exibeListras()   {     System.out.println("Minha zebra tem " + listras + "listras.");   }

}

interface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

Page 45: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

4545

4545SISTEMAS DE

INFORMAÇÃO45

4545

45SISTEMAS DEINFORMAÇÃO

4545SISTEMAS DE

INFORMAÇÃO45

4545

45SISTEMAS DEINFORMAÇÃO

4545

4545SISTEMAS DE

INFORMAÇÃO45

45SISTEMAS DEINFORMAÇÃO

4545

45

SISTEMAS DEINFORMAÇÃO

4545

4545 45SISTEMAS DEINFORMAÇÃO

4545

4545SISTEMAS DE

INFORMAÇÃO45

45SISTEMAS DEINFORMAÇÃO

4545

4545SISTEMAS DE

INFORMAÇÃO45

4545

45SISTEMAS DEINFORMAÇÃO

4545SISTEMAS DE

INFORMAÇÃO45

4545

45SISTEMAS DEINFORMAÇÃO

454545SISTEMAS DE

INFORMAÇÃO45

4545

45SISTEMAS DEINFORMAÇÃO

4545SISTEMAS DE

INFORMAÇÃO45

4545

45SISTEMAS DEINFORMAÇÃO

4545

4545SISTEMAS DE

INFORMAÇÃO45

45SISTEMAS DEINFORMAÇÃO

4545

4545SISTEMAS DE

INFORMAÇÃO45

4545

public class Zebra implements Animal{

   double peso;   int listras;      Zebra(double p, int l)   {      peso = p;      listras =l;   }      public void nasça()   {      System.out.println("Zebrinha bebê nascendo...");   }

   public void passeiePelaTela()   {     System.out.println("Zebra galopa pela tela.");   }

   public void durma()   {     System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");   }

   public double peso()   {     return peso;   }

   public void exibeListras()   {     System.out.println("Minha zebra tem " + listras + "listras.");   }

}

interface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

Page 46: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

4646

4646SISTEMAS DE

INFORMAÇÃO46

4646

46SISTEMAS DEINFORMAÇÃO

4646SISTEMAS DE

INFORMAÇÃO46

4646

46SISTEMAS DEINFORMAÇÃO

4646

4646SISTEMAS DE

INFORMAÇÃO46

46SISTEMAS DEINFORMAÇÃO

4646

46

SISTEMAS DEINFORMAÇÃO

4646

4646 46SISTEMAS DEINFORMAÇÃO

4646

4646SISTEMAS DE

INFORMAÇÃO46

46SISTEMAS DEINFORMAÇÃO

4646

4646SISTEMAS DE

INFORMAÇÃO46

4646

46SISTEMAS DEINFORMAÇÃO

4646SISTEMAS DE

INFORMAÇÃO46

4646

46SISTEMAS DEINFORMAÇÃO

464646SISTEMAS DE

INFORMAÇÃO46

4646

46SISTEMAS DEINFORMAÇÃO

4646SISTEMAS DE

INFORMAÇÃO46

4646

46SISTEMAS DEINFORMAÇÃO

4646

4646SISTEMAS DE

INFORMAÇÃO46

46SISTEMAS DEINFORMAÇÃO

4646

4646SISTEMAS DE

INFORMAÇÃO46

4646

public class Zebra implements Animal{

   double peso;   int listras;      Zebra(double p, int l)   {      peso = p;      listras =l;   }      public void nasça()   {      System.out.println("Zebrinha bebê nascendo...");   }

   public void passeiePelaTela()   {     System.out.println("Zebra galopa pela tela.");   }

   public void durma()   {     System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");   }

   public double peso()   {     return peso;   }

   public void exibeListras()   {     System.out.println("Minha zebra tem " + listras + "listras.");   }

}

interface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

Page 47: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

4747

4747SISTEMAS DE

INFORMAÇÃO47

4747

47SISTEMAS DEINFORMAÇÃO

4747SISTEMAS DE

INFORMAÇÃO47

4747

47SISTEMAS DEINFORMAÇÃO

4747

4747SISTEMAS DE

INFORMAÇÃO47

47SISTEMAS DEINFORMAÇÃO

4747

47

SISTEMAS DEINFORMAÇÃO

4747

4747 47SISTEMAS DEINFORMAÇÃO

4747

4747SISTEMAS DE

INFORMAÇÃO47

47SISTEMAS DEINFORMAÇÃO

4747

4747SISTEMAS DE

INFORMAÇÃO47

4747

47SISTEMAS DEINFORMAÇÃO

4747SISTEMAS DE

INFORMAÇÃO47

4747

47SISTEMAS DEINFORMAÇÃO

474747SISTEMAS DE

INFORMAÇÃO47

4747

47SISTEMAS DEINFORMAÇÃO

4747SISTEMAS DE

INFORMAÇÃO47

4747

47SISTEMAS DEINFORMAÇÃO

4747

4747SISTEMAS DE

INFORMAÇÃO47

47SISTEMAS DEINFORMAÇÃO

4747

4747SISTEMAS DE

INFORMAÇÃO47

4747

public class Zebra implements Animal{

   double peso;   int listras;      Zebra(double p, int l)   {      peso = p;      listras =l;   }      public void nasça()   {      System.out.println("Zebrinha bebê nascendo...");   }

   public void passeiePelaTela()   {     System.out.println("Zebra galopa pela tela.");   }

   public void durma()   {     System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");   }

   public double peso()   {     return peso;   }

   public void exibeListras()   {     System.out.println("Minha zebra tem " + listras + "listras.");   }

}

interface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

Page 48: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

4848

4848SISTEMAS DE

INFORMAÇÃO48

4848

48SISTEMAS DEINFORMAÇÃO

4848SISTEMAS DE

INFORMAÇÃO48

4848

48SISTEMAS DEINFORMAÇÃO

4848

4848SISTEMAS DE

INFORMAÇÃO48

48SISTEMAS DEINFORMAÇÃO

4848

48

SISTEMAS DEINFORMAÇÃO

4848

4848 48SISTEMAS DEINFORMAÇÃO

4848

4848SISTEMAS DE

INFORMAÇÃO48

48SISTEMAS DEINFORMAÇÃO

4848

4848SISTEMAS DE

INFORMAÇÃO48

4848

48SISTEMAS DEINFORMAÇÃO

4848SISTEMAS DE

INFORMAÇÃO48

4848

48SISTEMAS DEINFORMAÇÃO

484848SISTEMAS DE

INFORMAÇÃO48

4848

48SISTEMAS DEINFORMAÇÃO

4848SISTEMAS DE

INFORMAÇÃO48

4848

48SISTEMAS DEINFORMAÇÃO

4848

4848SISTEMAS DE

INFORMAÇÃO48

48SISTEMAS DEINFORMAÇÃO

4848

4848SISTEMAS DE

INFORMAÇÃO48

4848

public class Zebra implements Animal{

   double peso;   int listras;      Zebra(double p, int l)   {      peso = p;      listras =l;   }      public void nasça()   {      System.out.println("Zebrinha bebê nascendo...");   }

   public void passeiePelaTela()   {     System.out.println("Zebra galopa pela tela.");   }

   public void durma()   {     System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");   }

   public double peso()   {     return peso;   }

   public void exibeListras()   {     System.out.println("Minha zebra tem " + listras + "listras.");   }

}

interface Animal

{

void nasça();

void passeiePelaTela();

void durma();

double peso();

}

Não faz parte da interface...E daí?

Page 49: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

4949

4949SISTEMAS DE

INFORMAÇÃO49

4949

49SISTEMAS DEINFORMAÇÃO

4949SISTEMAS DE

INFORMAÇÃO49

4949

49SISTEMAS DEINFORMAÇÃO

4949

4949SISTEMAS DE

INFORMAÇÃO49

49SISTEMAS DEINFORMAÇÃO

4949

49

SISTEMAS DEINFORMAÇÃO

4949

4949 49SISTEMAS DEINFORMAÇÃO

4949

4949SISTEMAS DE

INFORMAÇÃO49

49SISTEMAS DEINFORMAÇÃO

4949

4949SISTEMAS DE

INFORMAÇÃO49

4949

49SISTEMAS DEINFORMAÇÃO

4949SISTEMAS DE

INFORMAÇÃO49

4949

49SISTEMAS DEINFORMAÇÃO

494949SISTEMAS DE

INFORMAÇÃO49

4949

49SISTEMAS DEINFORMAÇÃO

4949SISTEMAS DE

INFORMAÇÃO49

4949

49SISTEMAS DEINFORMAÇÃO

4949

4949SISTEMAS DE

INFORMAÇÃO49

49SISTEMAS DEINFORMAÇÃO

4949

4949SISTEMAS DE

INFORMAÇÃO49

4949

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50, 105); Animal zebraGrande = new Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

Não posso instanciar objetos da interface (Animal).Posso instanciar somente das classes que implementam a interface...Mas posso definir que o tipo do objeto instanciado é Animal

Page 50: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

5050

5050SISTEMAS DE

INFORMAÇÃO50

5050

50SISTEMAS DEINFORMAÇÃO

5050SISTEMAS DE

INFORMAÇÃO50

5050

50SISTEMAS DEINFORMAÇÃO

5050

5050SISTEMAS DE

INFORMAÇÃO50

50SISTEMAS DEINFORMAÇÃO

5050

50

SISTEMAS DEINFORMAÇÃO

5050

5050 50SISTEMAS DEINFORMAÇÃO

5050

5050SISTEMAS DE

INFORMAÇÃO50

50SISTEMAS DEINFORMAÇÃO

5050

5050SISTEMAS DE

INFORMAÇÃO50

5050

50SISTEMAS DEINFORMAÇÃO

5050SISTEMAS DE

INFORMAÇÃO50

5050

50SISTEMAS DEINFORMAÇÃO

505050SISTEMAS DE

INFORMAÇÃO50

5050

50SISTEMAS DEINFORMAÇÃO

5050SISTEMAS DE

INFORMAÇÃO50

5050

50SISTEMAS DEINFORMAÇÃO

5050

5050SISTEMAS DE

INFORMAÇÃO50

50SISTEMAS DEINFORMAÇÃO

5050

5050SISTEMAS DE

INFORMAÇÃO50

5050

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50, 105); Animal zebraGrande = new Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

Consequência:

> Zebra zebraPequena = new Zebra(50, 105);

> Animal zebraGrande = new Zebra(230,160);

> zebraPequena.exibeListras();

Minha zebra tem 105 listras.

> zebraGrande.exibeListras();

????

Page 51: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

5151

5151SISTEMAS DE

INFORMAÇÃO51

5151

51SISTEMAS DEINFORMAÇÃO

5151SISTEMAS DE

INFORMAÇÃO51

5151

51SISTEMAS DEINFORMAÇÃO

5151

5151SISTEMAS DE

INFORMAÇÃO51

51SISTEMAS DEINFORMAÇÃO

5151

51

SISTEMAS DEINFORMAÇÃO

5151

5151 51SISTEMAS DEINFORMAÇÃO

5151

5151SISTEMAS DE

INFORMAÇÃO51

51SISTEMAS DEINFORMAÇÃO

5151

5151SISTEMAS DE

INFORMAÇÃO51

5151

51SISTEMAS DEINFORMAÇÃO

5151SISTEMAS DE

INFORMAÇÃO51

5151

51SISTEMAS DEINFORMAÇÃO

515151SISTEMAS DE

INFORMAÇÃO51

5151

51SISTEMAS DEINFORMAÇÃO

5151SISTEMAS DE

INFORMAÇÃO51

5151

51SISTEMAS DEINFORMAÇÃO

5151

5151SISTEMAS DE

INFORMAÇÃO51

51SISTEMAS DEINFORMAÇÃO

5151

5151SISTEMAS DE

INFORMAÇÃO51

5151

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50, 105); Animal zebraGrande = new Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

Consequência:

> Zebra zebraPequena = new Zebra(50, 105);

> Animal zebraGrande = new Zebra(230,160);

> zebraPequena.exibeListras();

Minha zebra tem 105 listras.

> zebraGrande.exibeListras();

Static Error: No method in Animal with name 

'exibeListras' accepts arguments ()

Page 52: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

5252

5252SISTEMAS DE

INFORMAÇÃO52

5252

52SISTEMAS DEINFORMAÇÃO

5252SISTEMAS DE

INFORMAÇÃO52

5252

52SISTEMAS DEINFORMAÇÃO

5252

5252SISTEMAS DE

INFORMAÇÃO52

52SISTEMAS DEINFORMAÇÃO

5252

52

SISTEMAS DEINFORMAÇÃO

5252

5252 52SISTEMAS DEINFORMAÇÃO

5252

5252SISTEMAS DE

INFORMAÇÃO52

52SISTEMAS DEINFORMAÇÃO

5252

5252SISTEMAS DE

INFORMAÇÃO52

5252

52SISTEMAS DEINFORMAÇÃO

5252SISTEMAS DE

INFORMAÇÃO52

5252

52SISTEMAS DEINFORMAÇÃO

525252SISTEMAS DE

INFORMAÇÃO52

5252

52SISTEMAS DEINFORMAÇÃO

5252SISTEMAS DE

INFORMAÇÃO52

5252

52SISTEMAS DEINFORMAÇÃO

5252

5252SISTEMAS DE

INFORMAÇÃO52

52SISTEMAS DEINFORMAÇÃO

5252

5252SISTEMAS DE

INFORMAÇÃO52

5252

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50, 105); Animal zebraGrande = new Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

Consequência:

> Zebra zebraPequena = new Zebra(50, 105);

> Animal zebraGrande = new Zebra(230,160);

> zebraPequena.exibeListras();

Minha zebra tem 105 listras.

> zebraGrande.exibeListras();

Static Error: No method in Animal with name 

'exibeListras' accepts arguments ()

A associação de qual método executar é dinâmica, mas a 

interface é definida estaticamente

(Java é tipada!)

Page 53: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

5353

5353SISTEMAS DE

INFORMAÇÃO53

5353

53SISTEMAS DEINFORMAÇÃO

5353SISTEMAS DE

INFORMAÇÃO53

5353

53SISTEMAS DEINFORMAÇÃO

5353

5353SISTEMAS DE

INFORMAÇÃO53

53SISTEMAS DEINFORMAÇÃO

5353

53

SISTEMAS DEINFORMAÇÃO

5353

5353 53SISTEMAS DEINFORMAÇÃO

5353

5353SISTEMAS DE

INFORMAÇÃO53

53SISTEMAS DEINFORMAÇÃO

5353

5353SISTEMAS DE

INFORMAÇÃO53

5353

53SISTEMAS DEINFORMAÇÃO

5353SISTEMAS DE

INFORMAÇÃO53

5353

53SISTEMAS DEINFORMAÇÃO

535353SISTEMAS DE

INFORMAÇÃO53

5353

53SISTEMAS DEINFORMAÇÃO

5353SISTEMAS DE

INFORMAÇÃO53

5353

53SISTEMAS DEINFORMAÇÃO

5353

5353SISTEMAS DE

INFORMAÇÃO53

53SISTEMAS DEINFORMAÇÃO

5353

5353SISTEMAS DE

INFORMAÇÃO53

5353

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50, 105); Animal zebraGrande = new Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

Dá para melhorar ???

Page 54: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

5454

5454SISTEMAS DE

INFORMAÇÃO54

5454

54SISTEMAS DEINFORMAÇÃO

5454SISTEMAS DE

INFORMAÇÃO54

5454

54SISTEMAS DEINFORMAÇÃO

5454

5454SISTEMAS DE

INFORMAÇÃO54

54SISTEMAS DEINFORMAÇÃO

5454

54

SISTEMAS DEINFORMAÇÃO

5454

5454 54SISTEMAS DEINFORMAÇÃO

5454

5454SISTEMAS DE

INFORMAÇÃO54

54SISTEMAS DEINFORMAÇÃO

5454

5454SISTEMAS DE

INFORMAÇÃO54

5454

54SISTEMAS DEINFORMAÇÃO

5454SISTEMAS DE

INFORMAÇÃO54

5454

54SISTEMAS DEINFORMAÇÃO

545454SISTEMAS DE

INFORMAÇÃO54

5454

54SISTEMAS DEINFORMAÇÃO

5454SISTEMAS DE

INFORMAÇÃO54

5454

54SISTEMAS DEINFORMAÇÃO

5454

5454SISTEMAS DE

INFORMAÇÃO54

54SISTEMAS DEINFORMAÇÃO

5454

5454SISTEMAS DE

INFORMAÇÃO54

5454

Interfaceclass Zoologico{ static void cicloDeVida (Animal

animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Animal bicharada []= new Animal [4]; bicharada [0] = new Zebra(50, 105); bicharada [1] = new Zebra(230,160); bicharada [2] = new Morcego(); bicharada [3] = new Pato (3.2);

??? }}

class Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50, 105); Animal zebraGrande = new Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

Page 55: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

5555

5555SISTEMAS DE

INFORMAÇÃO55

5555

55SISTEMAS DEINFORMAÇÃO

5555SISTEMAS DE

INFORMAÇÃO55

5555

55SISTEMAS DEINFORMAÇÃO

5555

5555SISTEMAS DE

INFORMAÇÃO55

55SISTEMAS DEINFORMAÇÃO

5555

55

SISTEMAS DEINFORMAÇÃO

5555

5555 55SISTEMAS DEINFORMAÇÃO

5555

5555SISTEMAS DE

INFORMAÇÃO55

55SISTEMAS DEINFORMAÇÃO

5555

5555SISTEMAS DE

INFORMAÇÃO55

5555

55SISTEMAS DEINFORMAÇÃO

5555SISTEMAS DE

INFORMAÇÃO55

5555

55SISTEMAS DEINFORMAÇÃO

555555SISTEMAS DE

INFORMAÇÃO55

5555

55SISTEMAS DEINFORMAÇÃO

5555SISTEMAS DE

INFORMAÇÃO55

5555

55SISTEMAS DEINFORMAÇÃO

5555

5555SISTEMAS DE

INFORMAÇÃO55

55SISTEMAS DEINFORMAÇÃO

5555

5555SISTEMAS DE

INFORMAÇÃO55

5555

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Animal bicharada []= new Animal [4]; bicharada [0] = new Zebra(50, 105); bicharada [1] = new Zebra(230,160); bicharada [2] = new Morcego(); bicharada [3] = new Pato (3.2); for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]); }}

class Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50, 105); Animal zebraGrande = new Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

Page 56: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

5656

5656SISTEMAS DE

INFORMAÇÃO56

5656

56SISTEMAS DEINFORMAÇÃO

5656SISTEMAS DE

INFORMAÇÃO56

5656

56SISTEMAS DEINFORMAÇÃO

5656

5656SISTEMAS DE

INFORMAÇÃO56

56SISTEMAS DEINFORMAÇÃO

5656

56

SISTEMAS DEINFORMAÇÃO

5656

5656 56SISTEMAS DEINFORMAÇÃO

5656

5656SISTEMAS DE

INFORMAÇÃO56

56SISTEMAS DEINFORMAÇÃO

5656

5656SISTEMAS DE

INFORMAÇÃO56

5656

56SISTEMAS DEINFORMAÇÃO

5656SISTEMAS DE

INFORMAÇÃO56

5656

56SISTEMAS DEINFORMAÇÃO

565656SISTEMAS DE

INFORMAÇÃO56

5656

56SISTEMAS DEINFORMAÇÃO

5656SISTEMAS DE

INFORMAÇÃO56

5656

56SISTEMAS DEINFORMAÇÃO

5656

5656SISTEMAS DE

INFORMAÇÃO56

56SISTEMAS DEINFORMAÇÃO

5656

5656SISTEMAS DE

INFORMAÇÃO56

5656

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Animal bicharada []= new Animal [4]; bicharada [0] = new Zebra(50, 105); bicharada [1] = new Zebra(230,160); bicharada [2] = new Morcego(); bicharada [3] = new Pato (3.2); for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]); }}

Dá para escrever de outro jeito ???

Page 57: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

5757

5757SISTEMAS DE

INFORMAÇÃO57

5757

57SISTEMAS DEINFORMAÇÃO

5757SISTEMAS DE

INFORMAÇÃO57

5757

57SISTEMAS DEINFORMAÇÃO

5757

5757SISTEMAS DE

INFORMAÇÃO57

57SISTEMAS DEINFORMAÇÃO

5757

57

SISTEMAS DEINFORMAÇÃO

5757

5757 57SISTEMAS DEINFORMAÇÃO

5757

5757SISTEMAS DE

INFORMAÇÃO57

57SISTEMAS DEINFORMAÇÃO

5757

5757SISTEMAS DE

INFORMAÇÃO57

5757

57SISTEMAS DEINFORMAÇÃO

5757SISTEMAS DE

INFORMAÇÃO57

5757

57SISTEMAS DEINFORMAÇÃO

575757SISTEMAS DE

INFORMAÇÃO57

5757

57SISTEMAS DEINFORMAÇÃO

5757SISTEMAS DE

INFORMAÇÃO57

5757

57SISTEMAS DEINFORMAÇÃO

5757

5757SISTEMAS DE

INFORMAÇÃO57

57SISTEMAS DEINFORMAÇÃO

5757

5757SISTEMAS DE

INFORMAÇÃO57

5757

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Animal bicharada []= new Animal [4]; bicharada [0] = new Zebra(50, 105); bicharada [1] = new Zebra(230,160); bicharada [2] = new Morcego(); bicharada [3] = new Pato (3.2); for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]); }}

class Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Animal bicharada []= {new Zebra(50, 105), new

Zebra(230,160), new Morcego(), new Pato (3.2)} for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]); }}

Page 58: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

5858

5858SISTEMAS DE

INFORMAÇÃO58

5858

58SISTEMAS DEINFORMAÇÃO

5858SISTEMAS DE

INFORMAÇÃO58

5858

58SISTEMAS DEINFORMAÇÃO

5858

5858SISTEMAS DE

INFORMAÇÃO58

58SISTEMAS DEINFORMAÇÃO

5858

58

SISTEMAS DEINFORMAÇÃO

5858

5858 58SISTEMAS DEINFORMAÇÃO

5858

5858SISTEMAS DE

INFORMAÇÃO58

58SISTEMAS DEINFORMAÇÃO

5858

5858SISTEMAS DE

INFORMAÇÃO58

5858

58SISTEMAS DEINFORMAÇÃO

5858SISTEMAS DE

INFORMAÇÃO58

5858

58SISTEMAS DEINFORMAÇÃO

585858SISTEMAS DE

INFORMAÇÃO58

5858

58SISTEMAS DEINFORMAÇÃO

5858SISTEMAS DE

INFORMAÇÃO58

5858

58SISTEMAS DEINFORMAÇÃO

5858

5858SISTEMAS DE

INFORMAÇÃO58

58SISTEMAS DEINFORMAÇÃO

5858

5858SISTEMAS DE

INFORMAÇÃO58

5858

Interfaceclass Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Zebra zebraPequena = new Zebra(50,

105); Animal zebraGrande = new

Zebra(230,160); Morcego m = new Morcego(); Pato p= new Pato (3.2); cicloDeVida(zebraPequena); cicloDeVida(zebraGrande); cicloDeVida(m); cicloDeVida(p); }}

class Zoologico{ static void cicloDeVida (Animal animal) { animal.nasça(); animal.passeiePelaTela(); animal.durma(); } static public void fazFuncionar() { Animal bicharada []= {new Zebra(50, 105), new

Zebra(230,160), new Morcego(), new Pato (3.2)} for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]); }}

Primeira versão Última versão

Page 59: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

5959

5959SISTEMAS DE

INFORMAÇÃO59

5959

59SISTEMAS DEINFORMAÇÃO

5959SISTEMAS DE

INFORMAÇÃO59

5959

59SISTEMAS DEINFORMAÇÃO

5959

5959SISTEMAS DE

INFORMAÇÃO59

59SISTEMAS DEINFORMAÇÃO

5959

59

SISTEMAS DEINFORMAÇÃO

5959

5959 59SISTEMAS DEINFORMAÇÃO

5959

5959SISTEMAS DE

INFORMAÇÃO59

59SISTEMAS DEINFORMAÇÃO

5959

5959SISTEMAS DE

INFORMAÇÃO59

5959

59SISTEMAS DEINFORMAÇÃO

5959SISTEMAS DE

INFORMAÇÃO59

5959

59SISTEMAS DEINFORMAÇÃO

595959SISTEMAS DE

INFORMAÇÃO59

5959

59SISTEMAS DEINFORMAÇÃO

5959SISTEMAS DE

INFORMAÇÃO59

5959

59SISTEMAS DEINFORMAÇÃO

5959

5959SISTEMAS DE

INFORMAÇÃO59

59SISTEMAS DEINFORMAÇÃO

5959

5959SISTEMAS DE

INFORMAÇÃO59

5959

Implementando mais de uma Interface

• No mundo real, os objetos não obedecem uma única interface.

• Exemplo:

• um indivíduo, pode ser ao mesmo tempo :

• um homem (ou mulher)

• um professor

• um coordenador de curso

• um sócio de clube

• cada um desses “papéis” poderia entender mensagens próprias…

Page 60: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

6060

6060SISTEMAS DE

INFORMAÇÃO60

6060

60SISTEMAS DEINFORMAÇÃO

6060SISTEMAS DE

INFORMAÇÃO60

6060

60SISTEMAS DEINFORMAÇÃO

6060

6060SISTEMAS DE

INFORMAÇÃO60

60SISTEMAS DEINFORMAÇÃO

6060

60

SISTEMAS DEINFORMAÇÃO

6060

6060 60SISTEMAS DEINFORMAÇÃO

6060

6060SISTEMAS DE

INFORMAÇÃO60

60SISTEMAS DEINFORMAÇÃO

6060

6060SISTEMAS DE

INFORMAÇÃO60

6060

60SISTEMAS DEINFORMAÇÃO

6060SISTEMAS DE

INFORMAÇÃO60

6060

60SISTEMAS DEINFORMAÇÃO

606060SISTEMAS DE

INFORMAÇÃO60

6060

60SISTEMAS DEINFORMAÇÃO

6060SISTEMAS DE

INFORMAÇÃO60

6060

60SISTEMAS DEINFORMAÇÃO

6060

6060SISTEMAS DE

INFORMAÇÃO60

60SISTEMAS DEINFORMAÇÃO

6060

6060SISTEMAS DE

INFORMAÇÃO60

6060

Implementando mais de uma Interface

• indivíduo – nasce, cresce, morre:

• homem – alista-se no exército

• professor – ministra aula, avalia alunos, publica artigos

• coordenador de curso – atribui aulas, faz horário

• sócio de clube – paga mensalidade, usa piscina…

Page 61: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

6161

6161SISTEMAS DE

INFORMAÇÃO61

6161

61SISTEMAS DEINFORMAÇÃO

6161SISTEMAS DE

INFORMAÇÃO61

6161

61SISTEMAS DEINFORMAÇÃO

6161

6161SISTEMAS DE

INFORMAÇÃO61

61SISTEMAS DEINFORMAÇÃO

6161

61

SISTEMAS DEINFORMAÇÃO

6161

6161 61SISTEMAS DEINFORMAÇÃO

6161

6161SISTEMAS DE

INFORMAÇÃO61

61SISTEMAS DEINFORMAÇÃO

6161

6161SISTEMAS DE

INFORMAÇÃO61

6161

61SISTEMAS DEINFORMAÇÃO

6161SISTEMAS DE

INFORMAÇÃO61

6161

61SISTEMAS DEINFORMAÇÃO

616161SISTEMAS DE

INFORMAÇÃO61

6161

61SISTEMAS DEINFORMAÇÃO

6161SISTEMAS DE

INFORMAÇÃO61

6161

61SISTEMAS DEINFORMAÇÃO

6161

6161SISTEMAS DE

INFORMAÇÃO61

61SISTEMAS DEINFORMAÇÃO

6161

6161SISTEMAS DE

INFORMAÇÃO61

6161

Implementando mais de uma Interface• Exemplo de implementação:

• interfaces Voador e Transportador dePessoas

interface Voador{  void voa();  void aterrisa();}

interface TransportadorDePessoas{    void entramPessoas();    void saemPessoas();}

Page 62: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

6262

6262SISTEMAS DE

INFORMAÇÃO62

6262

62SISTEMAS DEINFORMAÇÃO

6262SISTEMAS DE

INFORMAÇÃO62

6262

62SISTEMAS DEINFORMAÇÃO

6262

6262SISTEMAS DE

INFORMAÇÃO62

62SISTEMAS DEINFORMAÇÃO

6262

62

SISTEMAS DEINFORMAÇÃO

6262

6262 62SISTEMAS DEINFORMAÇÃO

6262

6262SISTEMAS DE

INFORMAÇÃO62

62SISTEMAS DEINFORMAÇÃO

6262

6262SISTEMAS DE

INFORMAÇÃO62

6262

62SISTEMAS DEINFORMAÇÃO

6262SISTEMAS DE

INFORMAÇÃO62

6262

62SISTEMAS DEINFORMAÇÃO

626262SISTEMAS DE

INFORMAÇÃO62

6262

62SISTEMAS DEINFORMAÇÃO

6262SISTEMAS DE

INFORMAÇÃO62

6262

62SISTEMAS DEINFORMAÇÃO

6262

6262SISTEMAS DE

INFORMAÇÃO62

62SISTEMAS DEINFORMAÇÃO

6262

6262SISTEMAS DE

INFORMAÇÃO62

6262

Implementando mais de uma Interface

interface Voador{  void voa();  void aterrisa();}

class Ave implements Voador{  public void voa()  {    System.out.println ("Bate as asas");    }    public void aterrisa()  {    System.out.println ("Desliza suavemente até tocar o chão");        }}

Page 63: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

6363

6363SISTEMAS DE

INFORMAÇÃO63

6363

63SISTEMAS DEINFORMAÇÃO

6363SISTEMAS DE

INFORMAÇÃO63

6363

63SISTEMAS DEINFORMAÇÃO

6363

6363SISTEMAS DE

INFORMAÇÃO63

63SISTEMAS DEINFORMAÇÃO

6363

63

SISTEMAS DEINFORMAÇÃO

6363

6363 63SISTEMAS DEINFORMAÇÃO

6363

6363SISTEMAS DE

INFORMAÇÃO63

63SISTEMAS DEINFORMAÇÃO

6363

6363SISTEMAS DE

INFORMAÇÃO63

6363

63SISTEMAS DEINFORMAÇÃO

6363SISTEMAS DE

INFORMAÇÃO63

6363

63SISTEMAS DEINFORMAÇÃO

636363SISTEMAS DE

INFORMAÇÃO63

6363

63SISTEMAS DEINFORMAÇÃO

6363SISTEMAS DE

INFORMAÇÃO63

6363

63SISTEMAS DEINFORMAÇÃO

6363

6363SISTEMAS DE

INFORMAÇÃO63

63SISTEMAS DEINFORMAÇÃO

6363

6363SISTEMAS DE

INFORMAÇÃO63

6363

Implementando mais de uma Interface

interface TransportadorDePessoas{    void entramPessoas();    void saemPessoas();}

class Onibus implements TransportadorDePessoas{  public void entramPessoas()  {     System.out.println ("Abre a porta para as pessoas entrarem");  }  public void saemPessoas()  {    System.out.println ("Abre a porta para as pessoas saírem");  }}

Page 64: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

6464

6464SISTEMAS DE

INFORMAÇÃO64

6464

64SISTEMAS DEINFORMAÇÃO

6464SISTEMAS DE

INFORMAÇÃO64

6464

64SISTEMAS DEINFORMAÇÃO

6464

6464SISTEMAS DE

INFORMAÇÃO64

64SISTEMAS DEINFORMAÇÃO

6464

64

SISTEMAS DEINFORMAÇÃO

6464

6464 64SISTEMAS DEINFORMAÇÃO

6464

6464SISTEMAS DE

INFORMAÇÃO64

64SISTEMAS DEINFORMAÇÃO

6464

6464SISTEMAS DE

INFORMAÇÃO64

6464

64SISTEMAS DEINFORMAÇÃO

6464SISTEMAS DE

INFORMAÇÃO64

6464

64SISTEMAS DEINFORMAÇÃO

646464SISTEMAS DE

INFORMAÇÃO64

6464

64SISTEMAS DEINFORMAÇÃO

6464SISTEMAS DE

INFORMAÇÃO64

6464

64SISTEMAS DEINFORMAÇÃO

6464

6464SISTEMAS DE

INFORMAÇÃO64

64SISTEMAS DEINFORMAÇÃO

6464

6464SISTEMAS DE

INFORMAÇÃO64

6464

Implementando mais de uma Interface

interface Voador{  void voa();  void aterrisa();}

interface TransportadorDePessoas{    void entramPessoas();    void saemPessoas();}

class Aviao implements Voador, TransportadorDePessoas{  public void voa()  {    System.out.println ("Liga as turbinas e decola.");    }    public void aterrisa()  {    System.out.println ("Abaixa o trem de pouso e desce ­ preferencialmente no chão e suavemente... :­)");        }

  public void entramPessoas()  {     System.out.println ("Procedimento de embarque ­ idosos, gestantes e portadores de deficiência têm preferência...");  }    public void saemPessoas()  {    System.out.println ("Desembarque. Passageiros devem aguardar até parada completa da aeronave.");  }}

Page 65: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

6565

6565SISTEMAS DE

INFORMAÇÃO65

6565

65SISTEMAS DEINFORMAÇÃO

6565SISTEMAS DE

INFORMAÇÃO65

6565

65SISTEMAS DEINFORMAÇÃO

6565

6565SISTEMAS DE

INFORMAÇÃO65

65SISTEMAS DEINFORMAÇÃO

6565

65

SISTEMAS DEINFORMAÇÃO

6565

6565 65SISTEMAS DEINFORMAÇÃO

6565

6565SISTEMAS DE

INFORMAÇÃO65

65SISTEMAS DEINFORMAÇÃO

6565

6565SISTEMAS DE

INFORMAÇÃO65

6565

65SISTEMAS DEINFORMAÇÃO

6565SISTEMAS DE

INFORMAÇÃO65

6565

65SISTEMAS DEINFORMAÇÃO

656565SISTEMAS DE

INFORMAÇÃO65

6565

65SISTEMAS DEINFORMAÇÃO

6565SISTEMAS DE

INFORMAÇÃO65

6565

65SISTEMAS DEINFORMAÇÃO

6565

6565SISTEMAS DE

INFORMAÇÃO65

65SISTEMAS DEINFORMAÇÃO

6565

6565SISTEMAS DE

INFORMAÇÃO65

6565

Implementando mais de uma Interfaceclass TestaInterface{  public static void executa()  {    TransportadorDePessoas t = new Onibus();    Voador v = new Ave();    Aviao a  = new Aviao();      t.entramPessoas();    t.saemPessoas();    v.voa();    v.aterrisa();    a.entramPessoas();    a.voa();  }}

> TestaInterface.executa()

Abre a porta para as pessoas entrarem

Abre a porta para as pessoas saírem

Bate as asas

Desliza suavemente até tocar o chão

Procedimento de embarque ­ idosos, 

gestantes e portadores de deficiência têm 

preferência...

Liga as turbinas e decola. 

Page 66: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

6666

6666SISTEMAS DE

INFORMAÇÃO66

6666

66SISTEMAS DEINFORMAÇÃO

6666SISTEMAS DE

INFORMAÇÃO66

6666

66SISTEMAS DEINFORMAÇÃO

6666

6666SISTEMAS DE

INFORMAÇÃO66

66SISTEMAS DEINFORMAÇÃO

6666

66

SISTEMAS DEINFORMAÇÃO

6666

6666 66SISTEMAS DEINFORMAÇÃO

6666

6666SISTEMAS DE

INFORMAÇÃO66

66SISTEMAS DEINFORMAÇÃO

6666

6666SISTEMAS DE

INFORMAÇÃO66

6666

66SISTEMAS DEINFORMAÇÃO

6666SISTEMAS DE

INFORMAÇÃO66

6666

66SISTEMAS DEINFORMAÇÃO

666666SISTEMAS DE

INFORMAÇÃO66

6666

66SISTEMAS DEINFORMAÇÃO

6666SISTEMAS DE

INFORMAÇÃO66

6666

66SISTEMAS DEINFORMAÇÃO

6666

6666SISTEMAS DE

INFORMAÇÃO66

66SISTEMAS DEINFORMAÇÃO

6666

6666SISTEMAS DE

INFORMAÇÃO66

6666

Um exemplo pouco mais complexo• Classe Fruta

• atributos: nome, peso, preço

• atributos devem ser carregados no construtor

Page 67: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

6767

6767SISTEMAS DE

INFORMAÇÃO67

6767

67SISTEMAS DEINFORMAÇÃO

6767SISTEMAS DE

INFORMAÇÃO67

6767

67SISTEMAS DEINFORMAÇÃO

6767

6767SISTEMAS DE

INFORMAÇÃO67

67SISTEMAS DEINFORMAÇÃO

6767

67

SISTEMAS DEINFORMAÇÃO

6767

6767 67SISTEMAS DEINFORMAÇÃO

6767

6767SISTEMAS DE

INFORMAÇÃO67

67SISTEMAS DEINFORMAÇÃO

6767

6767SISTEMAS DE

INFORMAÇÃO67

6767

67SISTEMAS DEINFORMAÇÃO

6767SISTEMAS DE

INFORMAÇÃO67

6767

67SISTEMAS DEINFORMAÇÃO

676767SISTEMAS DE

INFORMAÇÃO67

6767

67SISTEMAS DEINFORMAÇÃO

6767SISTEMAS DE

INFORMAÇÃO67

6767

67SISTEMAS DEINFORMAÇÃO

6767

6767SISTEMAS DE

INFORMAÇÃO67

67SISTEMAS DEINFORMAÇÃO

6767

6767SISTEMAS DE

INFORMAÇÃO67

6767

Um exemplo pouco mais complexo• Classe Fruta

• atributos: nome, peso, preço

• atributos devem ser carregados no construtor

class Fruta{  String nome;  double preco, peso;    Fruta (String n, double p, double pr)  {    nome = n;    peso = p;    preco = pr;  }      void imprime()  {  System.out.print("Nome: " + nome);  System.out.print(“ Peso: " + peso);  System.out.println(“ Preço: " + preco);  }}

Page 68: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

6868

6868SISTEMAS DE

INFORMAÇÃO68

6868

68SISTEMAS DEINFORMAÇÃO

6868SISTEMAS DE

INFORMAÇÃO68

6868

68SISTEMAS DEINFORMAÇÃO

6868

6868SISTEMAS DE

INFORMAÇÃO68

68SISTEMAS DEINFORMAÇÃO

6868

68

SISTEMAS DEINFORMAÇÃO

6868

6868 68SISTEMAS DEINFORMAÇÃO

6868

6868SISTEMAS DE

INFORMAÇÃO68

68SISTEMAS DEINFORMAÇÃO

6868

6868SISTEMAS DE

INFORMAÇÃO68

6868

68SISTEMAS DEINFORMAÇÃO

6868SISTEMAS DE

INFORMAÇÃO68

6868

68SISTEMAS DEINFORMAÇÃO

686868SISTEMAS DE

INFORMAÇÃO68

6868

68SISTEMAS DEINFORMAÇÃO

6868SISTEMAS DE

INFORMAÇÃO68

6868

68SISTEMAS DEINFORMAÇÃO

6868

6868SISTEMAS DE

INFORMAÇÃO68

68SISTEMAS DEINFORMAÇÃO

6868

6868SISTEMAS DE

INFORMAÇÃO68

6868

Um exemplo pouco mais complexo• Classe Fruta

• queremos criar um vetor de frutas e:

• ordenar por nome

• ordenar por peso

• como fazer ???

Page 69: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

6969

6969SISTEMAS DE

INFORMAÇÃO69

6969

69SISTEMAS DEINFORMAÇÃO

6969SISTEMAS DE

INFORMAÇÃO69

6969

69SISTEMAS DEINFORMAÇÃO

6969

6969SISTEMAS DE

INFORMAÇÃO69

69SISTEMAS DEINFORMAÇÃO

6969

69

SISTEMAS DEINFORMAÇÃO

6969

6969 69SISTEMAS DEINFORMAÇÃO

6969

6969SISTEMAS DE

INFORMAÇÃO69

69SISTEMAS DEINFORMAÇÃO

6969

6969SISTEMAS DE

INFORMAÇÃO69

6969

69SISTEMAS DEINFORMAÇÃO

6969SISTEMAS DE

INFORMAÇÃO69

6969

69SISTEMAS DEINFORMAÇÃO

696969SISTEMAS DE

INFORMAÇÃO69

6969

69SISTEMAS DEINFORMAÇÃO

6969SISTEMAS DE

INFORMAÇÃO69

6969

69SISTEMAS DEINFORMAÇÃO

6969

6969SISTEMAS DE

INFORMAÇÃO69

69SISTEMAS DEINFORMAÇÃO

6969

6969SISTEMAS DE

INFORMAÇÃO69

6969

Um exemplo pouco mais complexo• Classe Fruta

• queremos criar um vetor de frutas e:

• ordenar por nome

• ordenar por peso

• como fazer ???

• já vimos métodos de ordenação

• podemos escolher um método e implementar

• mudar somente o critério de comparação (preço ou peso)

Page 70: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

7070

7070SISTEMAS DE

INFORMAÇÃO70

7070

70SISTEMAS DEINFORMAÇÃO

7070SISTEMAS DE

INFORMAÇÃO70

7070

70SISTEMAS DEINFORMAÇÃO

7070

7070SISTEMAS DE

INFORMAÇÃO70

70SISTEMAS DEINFORMAÇÃO

7070

70

SISTEMAS DEINFORMAÇÃO

7070

7070 70SISTEMAS DEINFORMAÇÃO

7070

7070SISTEMAS DE

INFORMAÇÃO70

70SISTEMAS DEINFORMAÇÃO

7070

7070SISTEMAS DE

INFORMAÇÃO70

7070

70SISTEMAS DEINFORMAÇÃO

7070SISTEMAS DE

INFORMAÇÃO70

7070

70SISTEMAS DEINFORMAÇÃO

707070SISTEMAS DE

INFORMAÇÃO70

7070

70SISTEMAS DEINFORMAÇÃO

7070SISTEMAS DE

INFORMAÇÃO70

7070

70SISTEMAS DEINFORMAÇÃO

7070

7070SISTEMAS DE

INFORMAÇÃO70

70SISTEMAS DEINFORMAÇÃO

7070

7070SISTEMAS DE

INFORMAÇÃO70

7070

Um exemplo pouco mais complexoclass Quitanda{  // define array e construtor

    // imprime frutas

    // ordena por Preço

    // ordena por Peso

    // método principal que invoca os demais

}

Page 71: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

7171

7171SISTEMAS DE

INFORMAÇÃO71

7171

71SISTEMAS DEINFORMAÇÃO

7171SISTEMAS DE

INFORMAÇÃO71

7171

71SISTEMAS DEINFORMAÇÃO

7171

7171SISTEMAS DE

INFORMAÇÃO71

71SISTEMAS DEINFORMAÇÃO

7171

71

SISTEMAS DEINFORMAÇÃO

7171

7171 71SISTEMAS DEINFORMAÇÃO

7171

7171SISTEMAS DE

INFORMAÇÃO71

71SISTEMAS DEINFORMAÇÃO

7171

7171SISTEMAS DE

INFORMAÇÃO71

7171

71SISTEMAS DEINFORMAÇÃO

7171SISTEMAS DE

INFORMAÇÃO71

7171

71SISTEMAS DEINFORMAÇÃO

717171SISTEMAS DE

INFORMAÇÃO71

7171

71SISTEMAS DEINFORMAÇÃO

7171SISTEMAS DE

INFORMAÇÃO71

7171

71SISTEMAS DEINFORMAÇÃO

7171

7171SISTEMAS DE

INFORMAÇÃO71

71SISTEMAS DEINFORMAÇÃO

7171

7171SISTEMAS DE

INFORMAÇÃO71

7171

Um exemplo pouco mais complexoclass Quitanda{  // define array e construtor  ????    // imprime frutas

    // ordena por Preço

    // ordena por Peso

    // método principal que invoca os demais

}

Page 72: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

7272

7272SISTEMAS DE

INFORMAÇÃO72

7272

72SISTEMAS DEINFORMAÇÃO

7272SISTEMAS DE

INFORMAÇÃO72

7272

72SISTEMAS DEINFORMAÇÃO

7272

7272SISTEMAS DE

INFORMAÇÃO72

72SISTEMAS DEINFORMAÇÃO

7272

72

SISTEMAS DEINFORMAÇÃO

7272

7272 72SISTEMAS DEINFORMAÇÃO

7272

7272SISTEMAS DE

INFORMAÇÃO72

72SISTEMAS DEINFORMAÇÃO

7272

7272SISTEMAS DE

INFORMAÇÃO72

7272

72SISTEMAS DEINFORMAÇÃO

7272SISTEMAS DE

INFORMAÇÃO72

7272

72SISTEMAS DEINFORMAÇÃO

727272SISTEMAS DE

INFORMAÇÃO72

7272

72SISTEMAS DEINFORMAÇÃO

7272SISTEMAS DE

INFORMAÇÃO72

7272

72SISTEMAS DEINFORMAÇÃO

7272

7272SISTEMAS DE

INFORMAÇÃO72

72SISTEMAS DEINFORMAÇÃO

7272

7272SISTEMAS DE

INFORMAÇÃO72

7272

Um exemplo pouco mais complexoclass Quitanda{  // define array e construtor  Fruta [] frutas = new Fruta [5];    public Quitanda()  {    frutas [0] = new Fruta ("Laranja", 0.2, 0.5);    frutas [1] = new Fruta ("Kiwi", 0.1, 2);    frutas [2] = new Fruta ("Mamão", 1.5, 1.2);    frutas [3] = new Fruta ("Pera", 0.3, 1.7);    frutas [4] = new Fruta ("Banana", 0.3, 0.2);  }     // imprime frutas

    // ordena por Preço

    // ordena por Peso

    // método principal que invoca os demais

}

Page 73: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

7373

7373SISTEMAS DE

INFORMAÇÃO73

7373

73SISTEMAS DEINFORMAÇÃO

7373SISTEMAS DE

INFORMAÇÃO73

7373

73SISTEMAS DEINFORMAÇÃO

7373

7373SISTEMAS DE

INFORMAÇÃO73

73SISTEMAS DEINFORMAÇÃO

7373

73

SISTEMAS DEINFORMAÇÃO

7373

7373 73SISTEMAS DEINFORMAÇÃO

7373

7373SISTEMAS DE

INFORMAÇÃO73

73SISTEMAS DEINFORMAÇÃO

7373

7373SISTEMAS DE

INFORMAÇÃO73

7373

73SISTEMAS DEINFORMAÇÃO

7373SISTEMAS DE

INFORMAÇÃO73

7373

73SISTEMAS DEINFORMAÇÃO

737373SISTEMAS DE

INFORMAÇÃO73

7373

73SISTEMAS DEINFORMAÇÃO

7373SISTEMAS DE

INFORMAÇÃO73

7373

73SISTEMAS DEINFORMAÇÃO

7373

7373SISTEMAS DE

INFORMAÇÃO73

73SISTEMAS DEINFORMAÇÃO

7373

7373SISTEMAS DE

INFORMAÇÃO73

7373

Um exemplo pouco mais complexoclass Quitanda{  // define array e construtor   ...  // imprime frutas

    ????    // ordena por Preço

    // ordena por Peso

    // método principal que invoca os demais

}

Page 74: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

7474

7474SISTEMAS DE

INFORMAÇÃO74

7474

74SISTEMAS DEINFORMAÇÃO

7474SISTEMAS DE

INFORMAÇÃO74

7474

74SISTEMAS DEINFORMAÇÃO

7474

7474SISTEMAS DE

INFORMAÇÃO74

74SISTEMAS DEINFORMAÇÃO

7474

74

SISTEMAS DEINFORMAÇÃO

7474

7474 74SISTEMAS DEINFORMAÇÃO

7474

7474SISTEMAS DE

INFORMAÇÃO74

74SISTEMAS DEINFORMAÇÃO

7474

7474SISTEMAS DE

INFORMAÇÃO74

7474

74SISTEMAS DEINFORMAÇÃO

7474SISTEMAS DE

INFORMAÇÃO74

7474

74SISTEMAS DEINFORMAÇÃO

747474SISTEMAS DE

INFORMAÇÃO74

7474

74SISTEMAS DEINFORMAÇÃO

7474SISTEMAS DE

INFORMAÇÃO74

7474

74SISTEMAS DEINFORMAÇÃO

7474

7474SISTEMAS DE

INFORMAÇÃO74

74SISTEMAS DEINFORMAÇÃO

7474

7474SISTEMAS DE

INFORMAÇÃO74

7474

Um exemplo pouco mais complexoclass Quitanda{  // define array e construtor   ...  // imprime frutas

public void imprime()  {    for (int i = 0; i < frutas.length; i++)      frutas [i].imprime();  }

}

Page 75: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

7575

7575SISTEMAS DE

INFORMAÇÃO75

7575

75SISTEMAS DEINFORMAÇÃO

7575SISTEMAS DE

INFORMAÇÃO75

7575

75SISTEMAS DEINFORMAÇÃO

7575

7575SISTEMAS DE

INFORMAÇÃO75

75SISTEMAS DEINFORMAÇÃO

7575

75

SISTEMAS DEINFORMAÇÃO

7575

7575 75SISTEMAS DEINFORMAÇÃO

7575

7575SISTEMAS DE

INFORMAÇÃO75

75SISTEMAS DEINFORMAÇÃO

7575

7575SISTEMAS DE

INFORMAÇÃO75

7575

75SISTEMAS DEINFORMAÇÃO

7575SISTEMAS DE

INFORMAÇÃO75

7575

75SISTEMAS DEINFORMAÇÃO

757575SISTEMAS DE

INFORMAÇÃO75

7575

75SISTEMAS DEINFORMAÇÃO

7575SISTEMAS DE

INFORMAÇÃO75

7575

75SISTEMAS DEINFORMAÇÃO

7575

7575SISTEMAS DE

INFORMAÇÃO75

75SISTEMAS DEINFORMAÇÃO

7575

7575SISTEMAS DE

INFORMAÇÃO75

7575

Um exemplo pouco mais complexoclass Quitanda{  // define array e construtor  // imprime frutas   // ordena por Preço  ????    // ordena por Peso

    // método principal que invoca os demais

}

Page 76: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

7676

7676SISTEMAS DE

INFORMAÇÃO76

7676

76SISTEMAS DEINFORMAÇÃO

7676SISTEMAS DE

INFORMAÇÃO76

7676

76SISTEMAS DEINFORMAÇÃO

7676

7676SISTEMAS DE

INFORMAÇÃO76

76SISTEMAS DEINFORMAÇÃO

7676

76

SISTEMAS DEINFORMAÇÃO

7676

7676 76SISTEMAS DEINFORMAÇÃO

7676

7676SISTEMAS DE

INFORMAÇÃO76

76SISTEMAS DEINFORMAÇÃO

7676

7676SISTEMAS DE

INFORMAÇÃO76

7676

76SISTEMAS DEINFORMAÇÃO

7676SISTEMAS DE

INFORMAÇÃO76

7676

76SISTEMAS DEINFORMAÇÃO

767676SISTEMAS DE

INFORMAÇÃO76

7676

76SISTEMAS DEINFORMAÇÃO

7676SISTEMAS DE

INFORMAÇÃO76

7676

76SISTEMAS DEINFORMAÇÃO

7676

7676SISTEMAS DE

INFORMAÇÃO76

76SISTEMAS DEINFORMAÇÃO

7676

7676SISTEMAS DE

INFORMAÇÃO76

7676

Um exemplo pouco mais complexoclass Quitanda{ // define array e construtor // imprime frutas

 // ordena por Preço – método inserção diretavoid ordenaPorPreco (){    int ivet, isubv;    Fruta frutaAInserir;        for (ivet=1; ivet < frutas.length; ivet++)     {            frutaAInserir = frutas[ivet];       isubv = ivet;            while ((isubv > 0) && (frutas[isubv ­1].preco > frutaAInserir.preco))        {        frutas[isubv] = frutas[isubv ­ 1];        isubv­­;      }      frutas [isubv] = frutaAInserir;    }   }

Page 77: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

7777

7777SISTEMAS DE

INFORMAÇÃO77

7777

77SISTEMAS DEINFORMAÇÃO

7777SISTEMAS DE

INFORMAÇÃO77

7777

77SISTEMAS DEINFORMAÇÃO

7777

7777SISTEMAS DE

INFORMAÇÃO77

77SISTEMAS DEINFORMAÇÃO

7777

77

SISTEMAS DEINFORMAÇÃO

7777

7777 77SISTEMAS DEINFORMAÇÃO

7777

7777SISTEMAS DE

INFORMAÇÃO77

77SISTEMAS DEINFORMAÇÃO

7777

7777SISTEMAS DE

INFORMAÇÃO77

7777

77SISTEMAS DEINFORMAÇÃO

7777SISTEMAS DE

INFORMAÇÃO77

7777

77SISTEMAS DEINFORMAÇÃO

777777SISTEMAS DE

INFORMAÇÃO77

7777

77SISTEMAS DEINFORMAÇÃO

7777SISTEMAS DE

INFORMAÇÃO77

7777

77SISTEMAS DEINFORMAÇÃO

7777

7777SISTEMAS DE

INFORMAÇÃO77

77SISTEMAS DEINFORMAÇÃO

7777

7777SISTEMAS DE

INFORMAÇÃO77

7777

Um exemplo pouco mais complexoclass Quitanda{  // define array e construtor  // imprime frutas  // ordena por Preço   // ordena por Peso????    // método principal que invoca os demais

}

Page 78: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

7878

7878SISTEMAS DE

INFORMAÇÃO78

7878

78SISTEMAS DEINFORMAÇÃO

7878SISTEMAS DE

INFORMAÇÃO78

7878

78SISTEMAS DEINFORMAÇÃO

7878

7878SISTEMAS DE

INFORMAÇÃO78

78SISTEMAS DEINFORMAÇÃO

7878

78

SISTEMAS DEINFORMAÇÃO

7878

7878 78SISTEMAS DEINFORMAÇÃO

7878

7878SISTEMAS DE

INFORMAÇÃO78

78SISTEMAS DEINFORMAÇÃO

7878

7878SISTEMAS DE

INFORMAÇÃO78

7878

78SISTEMAS DEINFORMAÇÃO

7878SISTEMAS DE

INFORMAÇÃO78

7878

78SISTEMAS DEINFORMAÇÃO

787878SISTEMAS DE

INFORMAÇÃO78

7878

78SISTEMAS DEINFORMAÇÃO

7878SISTEMAS DE

INFORMAÇÃO78

7878

78SISTEMAS DEINFORMAÇÃO

7878

7878SISTEMAS DE

INFORMAÇÃO78

78SISTEMAS DEINFORMAÇÃO

7878

7878SISTEMAS DE

INFORMAÇÃO78

7878

Um exemplo pouco mais complexoclass Quitanda{  // define array e construtor  // imprime frutas  // ordena por Preço  // ordena por Pesovoid ordenaPorPreco (){    int ivet, isubv;    Fruta frutaAInserir;        for (ivet=1; ivet < frutas.length; ivet++)     {            frutaAInserir = frutas[ivet];       isubv = ivet;            while ((isubv > 0) && (frutas [isubv ­1].peso > frutaAInserir.peso))        {        frutas[isubv] = frutas[isubv ­ 1];        isubv­­;      }      frutas [isubv] = frutaAInserir;    }}   

Page 79: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

7979

7979SISTEMAS DE

INFORMAÇÃO79

7979

79SISTEMAS DEINFORMAÇÃO

7979SISTEMAS DE

INFORMAÇÃO79

7979

79SISTEMAS DEINFORMAÇÃO

7979

7979SISTEMAS DE

INFORMAÇÃO79

79SISTEMAS DEINFORMAÇÃO

7979

79

SISTEMAS DEINFORMAÇÃO

7979

7979 79SISTEMAS DEINFORMAÇÃO

7979

7979SISTEMAS DE

INFORMAÇÃO79

79SISTEMAS DEINFORMAÇÃO

7979

7979SISTEMAS DE

INFORMAÇÃO79

7979

79SISTEMAS DEINFORMAÇÃO

7979SISTEMAS DE

INFORMAÇÃO79

7979

79SISTEMAS DEINFORMAÇÃO

797979SISTEMAS DE

INFORMAÇÃO79

7979

79SISTEMAS DEINFORMAÇÃO

7979SISTEMAS DE

INFORMAÇÃO79

7979

79SISTEMAS DEINFORMAÇÃO

7979

7979SISTEMAS DE

INFORMAÇÃO79

79SISTEMAS DEINFORMAÇÃO

7979

7979SISTEMAS DE

INFORMAÇÃO79

7979

Um exemplo pouco mais complexoclass Quitanda{  // define array e construtor  // imprime frutas    // ordena por Preço  // ordena por Peso

  // método principal que invoca os demais  public static void main (String [] args)  {    Quitanda xepa = new Quitanda();        System.out.println("Desordenado");    xepa.imprime();    System.out.println("Em ordem de preço");    xepa.ordenaPorPreco();    xepa.imprime();    System.out.println("Em ordem de peso");    xepa.ordenaPorPeso();    xepa.imprime();  } }

Page 80: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

8080

8080SISTEMAS DE

INFORMAÇÃO80

8080

80SISTEMAS DEINFORMAÇÃO

8080SISTEMAS DE

INFORMAÇÃO80

8080

80SISTEMAS DEINFORMAÇÃO

8080

8080SISTEMAS DE

INFORMAÇÃO80

80SISTEMAS DEINFORMAÇÃO

8080

80

SISTEMAS DEINFORMAÇÃO

8080

8080 80SISTEMAS DEINFORMAÇÃO

8080

8080SISTEMAS DE

INFORMAÇÃO80

80SISTEMAS DEINFORMAÇÃO

8080

8080SISTEMAS DE

INFORMAÇÃO80

8080

80SISTEMAS DEINFORMAÇÃO

8080SISTEMAS DE

INFORMAÇÃO80

8080

80SISTEMAS DEINFORMAÇÃO

808080SISTEMAS DE

INFORMAÇÃO80

8080

80SISTEMAS DEINFORMAÇÃO

8080SISTEMAS DE

INFORMAÇÃO80

8080

80SISTEMAS DEINFORMAÇÃO

8080

8080SISTEMAS DE

INFORMAÇÃO80

80SISTEMAS DEINFORMAÇÃO

8080

8080SISTEMAS DE

INFORMAÇÃO80

8080

Um exemplo pouco mais complexo• Qual é o problema do código apresentado?

Page 81: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

8181

8181SISTEMAS DE

INFORMAÇÃO81

8181

81SISTEMAS DEINFORMAÇÃO

8181SISTEMAS DE

INFORMAÇÃO81

8181

81SISTEMAS DEINFORMAÇÃO

8181

8181SISTEMAS DE

INFORMAÇÃO81

81SISTEMAS DEINFORMAÇÃO

8181

81

SISTEMAS DEINFORMAÇÃO

8181

8181 81SISTEMAS DEINFORMAÇÃO

8181

8181SISTEMAS DE

INFORMAÇÃO81

81SISTEMAS DEINFORMAÇÃO

8181

8181SISTEMAS DE

INFORMAÇÃO81

8181

81SISTEMAS DEINFORMAÇÃO

8181SISTEMAS DE

INFORMAÇÃO81

8181

81SISTEMAS DEINFORMAÇÃO

818181SISTEMAS DE

INFORMAÇÃO81

8181

81SISTEMAS DEINFORMAÇÃO

8181SISTEMAS DE

INFORMAÇÃO81

8181

81SISTEMAS DEINFORMAÇÃO

8181

8181SISTEMAS DE

INFORMAÇÃO81

81SISTEMAS DEINFORMAÇÃO

8181

8181SISTEMAS DE

INFORMAÇÃO81

8181

Um exemplo pouco mais complexo• Qual é o problema do código apresentado?

• Código duplicado para ordenação.

• E se tivesse que ordenar por outros critérios?

Page 82: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

8282

8282SISTEMAS DE

INFORMAÇÃO82

8282

82SISTEMAS DEINFORMAÇÃO

8282SISTEMAS DE

INFORMAÇÃO82

8282

82SISTEMAS DEINFORMAÇÃO

8282

8282SISTEMAS DE

INFORMAÇÃO82

82SISTEMAS DEINFORMAÇÃO

8282

82

SISTEMAS DEINFORMAÇÃO

8282

8282 82SISTEMAS DEINFORMAÇÃO

8282

8282SISTEMAS DE

INFORMAÇÃO82

82SISTEMAS DEINFORMAÇÃO

8282

8282SISTEMAS DE

INFORMAÇÃO82

8282

82SISTEMAS DEINFORMAÇÃO

8282SISTEMAS DE

INFORMAÇÃO82

8282

82SISTEMAS DEINFORMAÇÃO

828282SISTEMAS DE

INFORMAÇÃO82

8282

82SISTEMAS DEINFORMAÇÃO

8282SISTEMAS DE

INFORMAÇÃO82

8282

82SISTEMAS DEINFORMAÇÃO

8282

8282SISTEMAS DE

INFORMAÇÃO82

82SISTEMAS DEINFORMAÇÃO

8282

8282SISTEMAS DE

INFORMAÇÃO82

8282

Um exemplo pouco mais complexo• Qual é o problema do código apresentado?

• Código duplicado para ordenação.

• E se tivesse que ordenar por outros critérios?

• Problema … mais código repetido!

Page 83: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

8383

8383SISTEMAS DE

INFORMAÇÃO83

8383

83SISTEMAS DEINFORMAÇÃO

8383SISTEMAS DE

INFORMAÇÃO83

8383

83SISTEMAS DEINFORMAÇÃO

8383

8383SISTEMAS DE

INFORMAÇÃO83

83SISTEMAS DEINFORMAÇÃO

8383

83

SISTEMAS DEINFORMAÇÃO

8383

8383 83SISTEMAS DEINFORMAÇÃO

8383

8383SISTEMAS DE

INFORMAÇÃO83

83SISTEMAS DEINFORMAÇÃO

8383

8383SISTEMAS DE

INFORMAÇÃO83

8383

83SISTEMAS DEINFORMAÇÃO

8383SISTEMAS DE

INFORMAÇÃO83

8383

83SISTEMAS DEINFORMAÇÃO

838383SISTEMAS DE

INFORMAÇÃO83

8383

83SISTEMAS DEINFORMAÇÃO

8383SISTEMAS DE

INFORMAÇÃO83

8383

83SISTEMAS DEINFORMAÇÃO

8383

8383SISTEMAS DE

INFORMAÇÃO83

83SISTEMAS DEINFORMAÇÃO

8383

8383SISTEMAS DE

INFORMAÇÃO83

8383

Um exemplo pouco mais complexo• Qual é o problema do código apresentado?

• Código duplicado para ordenação.

• E se tivesse que ordenar por outros critérios?

• Problema … mais código repetido!

• Solução: interface!

Page 84: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

8484

8484SISTEMAS DE

INFORMAÇÃO84

8484

84SISTEMAS DEINFORMAÇÃO

8484SISTEMAS DE

INFORMAÇÃO84

8484

84SISTEMAS DEINFORMAÇÃO

8484

8484SISTEMAS DE

INFORMAÇÃO84

84SISTEMAS DEINFORMAÇÃO

8484

84

SISTEMAS DEINFORMAÇÃO

8484

8484 84SISTEMAS DEINFORMAÇÃO

8484

8484SISTEMAS DE

INFORMAÇÃO84

84SISTEMAS DEINFORMAÇÃO

8484

8484SISTEMAS DE

INFORMAÇÃO84

8484

84SISTEMAS DEINFORMAÇÃO

8484SISTEMAS DE

INFORMAÇÃO84

8484

84SISTEMAS DEINFORMAÇÃO

848484SISTEMAS DE

INFORMAÇÃO84

8484

84SISTEMAS DEINFORMAÇÃO

8484SISTEMAS DE

INFORMAÇÃO84

8484

84SISTEMAS DEINFORMAÇÃO

8484

8484SISTEMAS DE

INFORMAÇÃO84

84SISTEMAS DEINFORMAÇÃO

8484

8484SISTEMAS DE

INFORMAÇÃO84

8484

Um exemplo pouco mais complexo• Qual é o problema do código apresentado?

• Código duplicado para ordenação.

• E se tivesse que ordenar por outros critérios?

• Problema … mais código repetido!

• Solução: interface!

• manter o código de comparação em um único método

• manter em métodos diferentes somente os trechos diferentes.

Page 85: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

8585

8585SISTEMAS DE

INFORMAÇÃO85

8585

85SISTEMAS DEINFORMAÇÃO

8585SISTEMAS DE

INFORMAÇÃO85

8585

85SISTEMAS DEINFORMAÇÃO

8585

8585SISTEMAS DE

INFORMAÇÃO85

85SISTEMAS DEINFORMAÇÃO

8585

85

SISTEMAS DEINFORMAÇÃO

8585

8585 85SISTEMAS DEINFORMAÇÃO

8585

8585SISTEMAS DE

INFORMAÇÃO85

85SISTEMAS DEINFORMAÇÃO

8585

8585SISTEMAS DE

INFORMAÇÃO85

8585

85SISTEMAS DEINFORMAÇÃO

8585SISTEMAS DE

INFORMAÇÃO85

8585

85SISTEMAS DEINFORMAÇÃO

858585SISTEMAS DE

INFORMAÇÃO85

8585

85SISTEMAS DEINFORMAÇÃO

8585SISTEMAS DE

INFORMAÇÃO85

8585

85SISTEMAS DEINFORMAÇÃO

8585

8585SISTEMAS DE

INFORMAÇÃO85

85SISTEMAS DEINFORMAÇÃO

8585

8585SISTEMAS DE

INFORMAÇÃO85

8585

Um exemplo pouco mais complexointerface ComparadorDeFrutas{ boolean ehMenor (Fruta a, Fruta b);}

class ComparaPreco implements ComparadorDeFrutas{ public boolean ehMenor (Fruta a, Fruta b) {return (a.preco < b.preco);}}

class ComparaPeso implements ComparadorDeFrutas{ public boolean ehMenor (Fruta a, Fruta b) {return (a.peso < b.peso);}}

class ComparaNome implements ComparadorDeFrutas{ public boolean ehMenor (Fruta a, Fruta b) {return (a.nome.compareTo(b.nome)<

0);}}

Page 86: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

8686

8686SISTEMAS DE

INFORMAÇÃO86

8686

86SISTEMAS DEINFORMAÇÃO

8686SISTEMAS DE

INFORMAÇÃO86

8686

86SISTEMAS DEINFORMAÇÃO

8686

8686SISTEMAS DE

INFORMAÇÃO86

86SISTEMAS DEINFORMAÇÃO

8686

86

SISTEMAS DEINFORMAÇÃO

8686

8686 86SISTEMAS DEINFORMAÇÃO

8686

8686SISTEMAS DE

INFORMAÇÃO86

86SISTEMAS DEINFORMAÇÃO

8686

8686SISTEMAS DE

INFORMAÇÃO86

8686

86SISTEMAS DEINFORMAÇÃO

8686SISTEMAS DE

INFORMAÇÃO86

8686

86SISTEMAS DEINFORMAÇÃO

868686SISTEMAS DE

INFORMAÇÃO86

8686

86SISTEMAS DEINFORMAÇÃO

8686SISTEMAS DE

INFORMAÇÃO86

8686

86SISTEMAS DEINFORMAÇÃO

8686

8686SISTEMAS DE

INFORMAÇÃO86

86SISTEMAS DEINFORMAÇÃO

8686

8686SISTEMAS DE

INFORMAÇÃO86

8686

Um exemplo pouco mais complexoclass Quitanda2{  // define array e construtor

    // imprime frutas

    // ordena – somente um método para ordenar!!!     // método principal que invoca os demais

}

Page 87: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

8787

8787SISTEMAS DE

INFORMAÇÃO87

8787

87SISTEMAS DEINFORMAÇÃO

8787SISTEMAS DE

INFORMAÇÃO87

8787

87SISTEMAS DEINFORMAÇÃO

8787

8787SISTEMAS DE

INFORMAÇÃO87

87SISTEMAS DEINFORMAÇÃO

8787

87

SISTEMAS DEINFORMAÇÃO

8787

8787 87SISTEMAS DEINFORMAÇÃO

8787

8787SISTEMAS DE

INFORMAÇÃO87

87SISTEMAS DEINFORMAÇÃO

8787

8787SISTEMAS DE

INFORMAÇÃO87

8787

87SISTEMAS DEINFORMAÇÃO

8787SISTEMAS DE

INFORMAÇÃO87

8787

87SISTEMAS DEINFORMAÇÃO

878787SISTEMAS DE

INFORMAÇÃO87

8787

87SISTEMAS DEINFORMAÇÃO

8787SISTEMAS DE

INFORMAÇÃO87

8787

87SISTEMAS DEINFORMAÇÃO

8787

8787SISTEMAS DE

INFORMAÇÃO87

87SISTEMAS DEINFORMAÇÃO

8787

8787SISTEMAS DE

INFORMAÇÃO87

8787

Um exemplo pouco mais complexoclass Quitanda2{  // define array e construtor  // imprime frutas  // ordena – somente um método para ordenar!!! void ordena (ComparadorDeFrutas c)  {    int ivet, isubv;    Fruta frutaAInserir;        for (ivet=1; ivet < frutas.length; ivet++)     {            frutaAInserir = frutas[ivet];       isubv = ivet;            while ((isubv > 0) && (c.ehMenor(frutaAInserir, frutas [isubv ­1]) ))        {        frutas[isubv] = frutas[isubv ­ 1];        isubv­­;      }      frutas [isubv] = frutaAInserir;

    }  }  

  // método principal que invoca os demais

}

Page 88: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

8888

8888SISTEMAS DE

INFORMAÇÃO88

8888

88SISTEMAS DEINFORMAÇÃO

8888SISTEMAS DE

INFORMAÇÃO88

8888

88SISTEMAS DEINFORMAÇÃO

8888

8888SISTEMAS DE

INFORMAÇÃO88

88SISTEMAS DEINFORMAÇÃO

8888

88

SISTEMAS DEINFORMAÇÃO

8888

8888 88SISTEMAS DEINFORMAÇÃO

8888

8888SISTEMAS DE

INFORMAÇÃO88

88SISTEMAS DEINFORMAÇÃO

8888

8888SISTEMAS DE

INFORMAÇÃO88

8888

88SISTEMAS DEINFORMAÇÃO

8888SISTEMAS DE

INFORMAÇÃO88

8888

88SISTEMAS DEINFORMAÇÃO

888888SISTEMAS DE

INFORMAÇÃO88

8888

88SISTEMAS DEINFORMAÇÃO

8888SISTEMAS DE

INFORMAÇÃO88

8888

88SISTEMAS DEINFORMAÇÃO

8888

8888SISTEMAS DE

INFORMAÇÃO88

88SISTEMAS DEINFORMAÇÃO

8888

8888SISTEMAS DE

INFORMAÇÃO88

8888

Um exemplo pouco mais complexoclass Quitanda2{  // métodos anteriores  // método principal que invoca os demaispublic static void main (String [] args)  {    Quitanda2 xepa = new Quitanda2();        System.out.println("Frutas desordenadas");    xepa.imprime();        System.out.println("Em ordem de preço");    ComparadorDeFrutas cpr = new ComparaPreco();    xepa.ordena(cpr);    xepa.imprime();        System.out.println("Em ordem de peso");    ComparadorDeFrutas cp = new ComparaPeso();    xepa.ordena(cp);    xepa.imprime();

    System.out.println("Em ordem alfabética de nome");    xepa.ordena(new ComparaNome ()); // forma super contraída de chamar o método ordena    xepa.imprime();  }

}

Page 89: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

8989

8989SISTEMAS DE

INFORMAÇÃO89

8989

89SISTEMAS DEINFORMAÇÃO

8989SISTEMAS DE

INFORMAÇÃO89

8989

89SISTEMAS DEINFORMAÇÃO

8989

8989SISTEMAS DE

INFORMAÇÃO89

89SISTEMAS DEINFORMAÇÃO

8989

89

SISTEMAS DEINFORMAÇÃO

8989

8989 89SISTEMAS DEINFORMAÇÃO

8989

8989SISTEMAS DE

INFORMAÇÃO89

89SISTEMAS DEINFORMAÇÃO

8989

8989SISTEMAS DE

INFORMAÇÃO89

8989

89SISTEMAS DEINFORMAÇÃO

8989SISTEMAS DE

INFORMAÇÃO89

8989

89SISTEMAS DEINFORMAÇÃO

898989SISTEMAS DE

INFORMAÇÃO89

8989

89SISTEMAS DEINFORMAÇÃO

8989SISTEMAS DE

INFORMAÇÃO89

8989

89SISTEMAS DEINFORMAÇÃO

8989

8989SISTEMAS DE

INFORMAÇÃO89

89SISTEMAS DEINFORMAÇÃO

8989

8989SISTEMAS DE

INFORMAÇÃO89

8989

Um exemplo pouco mais complexoclass Quitanda2{  // métodos anteriores  // método principal que invoca os demaispublic static void main (String [] args)  {    Quitanda2 xepa = new Quitanda2();        System.out.println("Frutas desordenadas");    xepa.imprime();        System.out.println("Em ordem de preço");    ComparadorDeFrutas cpr = new ComparaPreco();    xepa.ordena(cpr);    xepa.imprime();        System.out.println("Em ordem de peso");    ComparadorDeFrutas cp = new ComparaPeso();    xepa.ordena(cp);    xepa.imprime();

    System.out.println("Em ordem alfabética de nome");    xepa.ordena(new ComparaNome ()); // forma super contraída de chamar o método ordena    xepa.imprime();  }

}

Page 90: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

9090

9090SISTEMAS DE

INFORMAÇÃO90

9090

90SISTEMAS DEINFORMAÇÃO

9090SISTEMAS DE

INFORMAÇÃO90

9090

90SISTEMAS DEINFORMAÇÃO

9090

9090SISTEMAS DE

INFORMAÇÃO90

90SISTEMAS DEINFORMAÇÃO

9090

90

SISTEMAS DEINFORMAÇÃO

9090

9090 90SISTEMAS DEINFORMAÇÃO

9090

9090SISTEMAS DE

INFORMAÇÃO90

90SISTEMAS DEINFORMAÇÃO

9090

9090SISTEMAS DE

INFORMAÇÃO90

9090

90SISTEMAS DEINFORMAÇÃO

9090SISTEMAS DE

INFORMAÇÃO90

9090

90SISTEMAS DEINFORMAÇÃO

909090SISTEMAS DE

INFORMAÇÃO90

9090

90SISTEMAS DEINFORMAÇÃO

9090SISTEMAS DE

INFORMAÇÃO90

9090

90SISTEMAS DEINFORMAÇÃO

9090

9090SISTEMAS DE

INFORMAÇÃO90

90SISTEMAS DEINFORMAÇÃO

9090

9090SISTEMAS DE

INFORMAÇÃO90

9090

Por que interfaces é importante???• Se objetos fazem referência a interfaces e não a classes:

• mais fácil alterar as classes de um sistema sem ter que alterar aquelas que as utilizam (se a assinatura do método se mantém igual)

• fácil implementar polimorfismo de comportamento: classes que mudam de comportamento - chaveamento de comportamento pode ser feito durante compilação ou durante execução.

• desenvolvimento de sistemas grandes, envolvendo muitos programadores – todos obedecem as interfaces – integração posterior mais fácil.

• eliminação de código repetido.

Page 91: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

9191

9191SISTEMAS DE

INFORMAÇÃO91

9191

91SISTEMAS DEINFORMAÇÃO

9191SISTEMAS DE

INFORMAÇÃO91

9191

91SISTEMAS DEINFORMAÇÃO

9191

9191SISTEMAS DE

INFORMAÇÃO91

91SISTEMAS DEINFORMAÇÃO

9191

91

SISTEMAS DEINFORMAÇÃO

9191

9191 91SISTEMAS DEINFORMAÇÃO

9191

9191SISTEMAS DE

INFORMAÇÃO91

91SISTEMAS DEINFORMAÇÃO

9191

9191SISTEMAS DE

INFORMAÇÃO91

9191

91SISTEMAS DEINFORMAÇÃO

9191SISTEMAS DE

INFORMAÇÃO91

9191

91SISTEMAS DEINFORMAÇÃO

919191SISTEMAS DE

INFORMAÇÃO91

9191

91SISTEMAS DEINFORMAÇÃO

9191SISTEMAS DE

INFORMAÇÃO91

9191

91SISTEMAS DEINFORMAÇÃO

9191

9191SISTEMAS DE

INFORMAÇÃO91

91SISTEMAS DEINFORMAÇÃO

9191

9191SISTEMAS DE

INFORMAÇÃO91

9191

Programe para as interfaces,

não para as implementações!!!

Page 92: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

9292

9292SISTEMAS DE

INFORMAÇÃO92

9292

92SISTEMAS DEINFORMAÇÃO

9292SISTEMAS DE

INFORMAÇÃO92

9292

92SISTEMAS DEINFORMAÇÃO

9292

9292SISTEMAS DE

INFORMAÇÃO92

92SISTEMAS DEINFORMAÇÃO

9292

92

SISTEMAS DEINFORMAÇÃO

9292

9292 92SISTEMAS DEINFORMAÇÃO

9292

9292SISTEMAS DE

INFORMAÇÃO92

92SISTEMAS DEINFORMAÇÃO

9292

9292SISTEMAS DE

INFORMAÇÃO92

9292

92SISTEMAS DEINFORMAÇÃO

9292SISTEMAS DE

INFORMAÇÃO92

9292

92SISTEMAS DEINFORMAÇÃO

929292SISTEMAS DE

INFORMAÇÃO92

9292

92SISTEMAS DEINFORMAÇÃO

9292SISTEMAS DE

INFORMAÇÃO92

9292

92SISTEMAS DEINFORMAÇÃO

9292

9292SISTEMAS DE

INFORMAÇÃO92

92SISTEMAS DEINFORMAÇÃO

9292

9292SISTEMAS DE

INFORMAÇÃO92

9292

Observação

• Interfaces Java também podem definir constantes de classe (atributos static final)– Na interface você NÃO precisa colocar o static

final

• Ex:

interface Cores{int branco = 0;int preto = 255;

}

Page 93: Avisosariane/ach2001/ACH2001-Aula26... · 2009-06-11 · • Encapsulamento: • Conceito da POO que permite esconder do usuário os atributos e a implementação dos métodos da

SISTEMAS DEINFORMAÇÃO

9393

9393SISTEMAS DE

INFORMAÇÃO93

9393

93SISTEMAS DEINFORMAÇÃO

9393SISTEMAS DE

INFORMAÇÃO93

9393

93SISTEMAS DEINFORMAÇÃO

9393

9393SISTEMAS DE

INFORMAÇÃO93

93SISTEMAS DEINFORMAÇÃO

9393

93

SISTEMAS DEINFORMAÇÃO

9393

9393 93SISTEMAS DEINFORMAÇÃO

9393

9393SISTEMAS DE

INFORMAÇÃO93

93SISTEMAS DEINFORMAÇÃO

9393

9393SISTEMAS DE

INFORMAÇÃO93

9393

93SISTEMAS DEINFORMAÇÃO

9393SISTEMAS DE

INFORMAÇÃO93

9393

93SISTEMAS DEINFORMAÇÃO

939393SISTEMAS DE

INFORMAÇÃO93

9393

93SISTEMAS DEINFORMAÇÃO

9393SISTEMAS DE

INFORMAÇÃO93

9393

93SISTEMAS DEINFORMAÇÃO

9393

9393SISTEMAS DE

INFORMAÇÃO93

93SISTEMAS DEINFORMAÇÃO

9393

9393SISTEMAS DE

INFORMAÇÃO93

9393

Professoras:Ariane Machado LimaFátima L. S. Nunes

Interfaces