Post on 16-Jul-2020
Professoras:
Interfaces
SISTEMAS DEINFORMAÇÃO
1
11
1SISTEMAS DEINFORMAÇÃO1
11
1SISTEMAS DEINFORMAÇÃO1
1SISTEMAS DEINFORMAÇÃO1
11
1SISTEMAS DEINFORMAÇÃO1
11
1SISTEMAS DEINFORMAÇÃO1
1SISTEMAS DEINFORMAÇÃO1
11
SISTEMAS DEINFORMAÇÃO
1
11
1 1SISTEMAS DEINFORMAÇÃO
1
11
1SISTEMAS DEINFORMAÇÃO1
1SISTEMAS DEINFORMAÇÃO1
11
1SISTEMAS DEINFORMAÇÃO1
11
1SISTEMAS DEINFORMAÇÃO1
1SISTEMAS DEINFORMAÇÃO1
11
1SISTEMAS DEINFORMAÇÃO11
1SISTEMAS DEINFORMAÇÃO1
11
1SISTEMAS DEINFORMAÇÃO1
1SISTEMAS DEINFORMAÇÃO1
11
1SISTEMAS DEINFORMAÇÃO1
11
1SISTEMAS DEINFORMAÇÃO1
1SISTEMAS DEINFORMAÇÃO1
11
1SISTEMAS DEINFORMAÇÃO1
11
Professoras:
Ariane Machado Lima
Fátima L. S. Nunes
Interface
• O que significa?
SISTEMAS DEINFORMAÇÃO
2
22
2SISTEMAS DEINFORMAÇÃO2
22
2SISTEMAS DEINFORMAÇÃO2
2SISTEMAS DEINFORMAÇÃO2
22
2SISTEMAS DEINFORMAÇÃO2
22
2SISTEMAS DEINFORMAÇÃO2
2SISTEMAS DEINFORMAÇÃO2
22
SISTEMAS DEINFORMAÇÃO
2
22
2 2SISTEMAS DEINFORMAÇÃO
2
22
2SISTEMAS DEINFORMAÇÃO2
2SISTEMAS DEINFORMAÇÃO2
22
2SISTEMAS DEINFORMAÇÃO2
22
2SISTEMAS DEINFORMAÇÃO2
2SISTEMAS DEINFORMAÇÃO2
22
2SISTEMAS DEINFORMAÇÃO22
2SISTEMAS DEINFORMAÇÃO2
22
2SISTEMAS DEINFORMAÇÃO2
2SISTEMAS DEINFORMAÇÃO2
22
2SISTEMAS DEINFORMAÇÃO2
22
2SISTEMAS DEINFORMAÇÃO2
2SISTEMAS DEINFORMAÇÃO2
22
2SISTEMAS DEINFORMAÇÃO2
22
Interface
• Definição:
s.f. Limite comum a dois corpos, sistemas, fases ou s.f. Limite comum a dois corpos, sistemas, fases ou espaços, que permite sua ação mútua ou intercomunicação ou trocas entre eles: interface produção-distribuição; interface gás-líquido. / Ponto em que interagem coisas diversas. / Informática
Meio físico ou lógico através do qual um ou mais dispositivos ou sistemas incompatíveis
SISTEMAS DEINFORMAÇÃO
3
33
3SISTEMAS DEINFORMAÇÃO3
33
3SISTEMAS DEINFORMAÇÃO3
3SISTEMAS DEINFORMAÇÃO3
33
3SISTEMAS DEINFORMAÇÃO3
33
3SISTEMAS DEINFORMAÇÃO3
3SISTEMAS DEINFORMAÇÃO3
33
SISTEMAS DEINFORMAÇÃO
3
33
3 3SISTEMAS DEINFORMAÇÃO
3
33
3SISTEMAS DEINFORMAÇÃO3
3SISTEMAS DEINFORMAÇÃO3
33
3SISTEMAS DEINFORMAÇÃO3
33
3SISTEMAS DEINFORMAÇÃO3
3SISTEMAS DEINFORMAÇÃO3
33
3SISTEMAS DEINFORMAÇÃO33
3SISTEMAS DEINFORMAÇÃO3
33
3SISTEMAS DEINFORMAÇÃO3
3SISTEMAS DEINFORMAÇÃO3
33
3SISTEMAS DEINFORMAÇÃO3
33
3SISTEMAS DEINFORMAÇÃO3
3SISTEMAS DEINFORMAÇÃO3
33
3SISTEMAS DEINFORMAÇÃO3
33
mais dispositivos ou sistemas incompatíveis conseguem comunicar-se entre si.
Interface
SISTEMAS DEINFORMAÇÃO
4
44
4SISTEMAS DEINFORMAÇÃO4
44
4SISTEMAS DEINFORMAÇÃO4
4SISTEMAS DEINFORMAÇÃO4
44
4SISTEMAS DEINFORMAÇÃO4
44
4SISTEMAS DEINFORMAÇÃO4
4SISTEMAS DEINFORMAÇÃO4
44
SISTEMAS DEINFORMAÇÃO
4
44
4 4SISTEMAS DEINFORMAÇÃO
4
44
4SISTEMAS DEINFORMAÇÃO4
4SISTEMAS DEINFORMAÇÃO4
44
4SISTEMAS DEINFORMAÇÃO4
44
4SISTEMAS DEINFORMAÇÃO4
4SISTEMAS DEINFORMAÇÃO4
44
4SISTEMAS DEINFORMAÇÃO44
4SISTEMAS DEINFORMAÇÃO4
44
4SISTEMAS DEINFORMAÇÃO4
4SISTEMAS DEINFORMAÇÃO4
44
4SISTEMAS DEINFORMAÇÃO4
44
4SISTEMAS DEINFORMAÇÃO4
4SISTEMAS DEINFORMAÇÃO4
44
4SISTEMAS DEINFORMAÇÃO4
44
Interface
• O que é API (Application (Application Programming Interface) ?
• .... pensem na API do Java....
SISTEMAS DEINFORMAÇÃO
5
55
5SISTEMAS DEINFORMAÇÃO5
55
5SISTEMAS DEINFORMAÇÃO5
5SISTEMAS DEINFORMAÇÃO5
55
5SISTEMAS DEINFORMAÇÃO5
55
5SISTEMAS DEINFORMAÇÃO5
5SISTEMAS DEINFORMAÇÃO5
55
SISTEMAS DEINFORMAÇÃO
5
55
5 5SISTEMAS DEINFORMAÇÃO
5
55
5SISTEMAS DEINFORMAÇÃO5
5SISTEMAS DEINFORMAÇÃO5
55
5SISTEMAS DEINFORMAÇÃO5
55
5SISTEMAS DEINFORMAÇÃO5
5SISTEMAS DEINFORMAÇÃO5
55
5SISTEMAS DEINFORMAÇÃO55
5SISTEMAS DEINFORMAÇÃO5
55
5SISTEMAS DEINFORMAÇÃO5
5SISTEMAS DEINFORMAÇÃO5
55
5SISTEMAS DEINFORMAÇÃO5
55
5SISTEMAS DEINFORMAÇÃO5
5SISTEMAS DEINFORMAÇÃO5
55
5SISTEMAS DEINFORMAÇÃO5
55
Interface
• Encapsulamento ???
SISTEMAS DEINFORMAÇÃO
6
66
6SISTEMAS DEINFORMAÇÃO6
66
6SISTEMAS DEINFORMAÇÃO6
6SISTEMAS DEINFORMAÇÃO6
66
6SISTEMAS DEINFORMAÇÃO6
66
6SISTEMAS DEINFORMAÇÃO6
6SISTEMAS DEINFORMAÇÃO6
66
SISTEMAS DEINFORMAÇÃO
6
66
6 6SISTEMAS DEINFORMAÇÃO
6
66
6SISTEMAS DEINFORMAÇÃO6
6SISTEMAS DEINFORMAÇÃO6
66
6SISTEMAS DEINFORMAÇÃO6
66
6SISTEMAS DEINFORMAÇÃO6
6SISTEMAS DEINFORMAÇÃO6
66
6SISTEMAS DEINFORMAÇÃO66
6SISTEMAS DEINFORMAÇÃO6
66
6SISTEMAS DEINFORMAÇÃO6
6SISTEMAS DEINFORMAÇÃO6
66
6SISTEMAS DEINFORMAÇÃO6
66
6SISTEMAS DEINFORMAÇÃO6
6SISTEMAS DEINFORMAÇÃO6
66
6SISTEMAS DEINFORMAÇÃO6
66
Interface• Encapsulamento:
• Conceito da POO que permite esconder do usuário os atributos e a implementação dos 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
SISTEMAS DEINFORMAÇÃO
7
77
7SISTEMAS DEINFORMAÇÃO7
77
7SISTEMAS DEINFORMAÇÃO7
7SISTEMAS DEINFORMAÇÃO7
77
7SISTEMAS DEINFORMAÇÃO7
77
7SISTEMAS DEINFORMAÇÃO7
7SISTEMAS DEINFORMAÇÃO7
77
SISTEMAS DEINFORMAÇÃO
7
77
7 7SISTEMAS DEINFORMAÇÃO
7
77
7SISTEMAS DEINFORMAÇÃO7
7SISTEMAS DEINFORMAÇÃO7
77
7SISTEMAS DEINFORMAÇÃO7
77
7SISTEMAS DEINFORMAÇÃO7
7SISTEMAS DEINFORMAÇÃO7
77
7SISTEMAS DEINFORMAÇÃO77
7SISTEMAS DEINFORMAÇÃO7
77
7SISTEMAS DEINFORMAÇÃO7
7SISTEMAS DEINFORMAÇÃO7
77
7SISTEMAS DEINFORMAÇÃO7
77
7SISTEMAS DEINFORMAÇÃO7
7SISTEMAS DEINFORMAÇÃO7
77
7SISTEMAS DEINFORMAÇÃO7
77
• Interface = métodos disponíveis + suas respectivas assinaturas.
Interface• Interface:
• Útil também quando queremos ter uma classe, mas não implementá-la. 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
SISTEMAS DEINFORMAÇÃO
8
88
8SISTEMAS DEINFORMAÇÃO8
88
8SISTEMAS DEINFORMAÇÃO8
8SISTEMAS DEINFORMAÇÃO8
88
8SISTEMAS DEINFORMAÇÃO8
88
8SISTEMAS DEINFORMAÇÃO8
8SISTEMAS DEINFORMAÇÃO8
88
SISTEMAS DEINFORMAÇÃO
8
88
8 8SISTEMAS DEINFORMAÇÃO
8
88
8SISTEMAS DEINFORMAÇÃO8
8SISTEMAS DEINFORMAÇÃO8
88
8SISTEMAS DEINFORMAÇÃO8
88
8SISTEMAS DEINFORMAÇÃO8
8SISTEMAS DEINFORMAÇÃO8
88
8SISTEMAS DEINFORMAÇÃO88
8SISTEMAS DEINFORMAÇÃO8
88
8SISTEMAS DEINFORMAÇÃO8
8SISTEMAS DEINFORMAÇÃO8
88
8SISTEMAS DEINFORMAÇÃO8
88
8SISTEMAS DEINFORMAÇÃO8
8SISTEMAS DEINFORMAÇÃO8
88
8SISTEMAS DEINFORMAÇÃO8
88
executar) sem ter que implementá-la
• Implementação ficaria por conta das “subclasses”
class ComunidadeAcademica
{
Pessoa [] comunidade = new Pessoa [5000];
int nrPessoas = 0;
void inserePessoa(Pessoa p) {
comunidade[nrPessoas] = p;
nrPessoas++;
Neste exemplo, quemétodos Pessoa 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");
métodos Pessoa deveria saber executar?
SISTEMAS DEINFORMAÇÃO
9
99
9SISTEMAS DEINFORMAÇÃO9
99
9SISTEMAS DEINFORMAÇÃO9
9SISTEMAS DEINFORMAÇÃO9
99
9SISTEMAS DEINFORMAÇÃO9
99
9SISTEMAS DEINFORMAÇÃO9
9SISTEMAS DEINFORMAÇÃO9
99
SISTEMAS DEINFORMAÇÃO
9
99
9 9SISTEMAS DEINFORMAÇÃO
9
99
9SISTEMAS DEINFORMAÇÃO9
9SISTEMAS DEINFORMAÇÃO9
99
9SISTEMAS DEINFORMAÇÃO9
99
9SISTEMAS DEINFORMAÇÃO9
9SISTEMAS DEINFORMAÇÃO9
99
9SISTEMAS DEINFORMAÇÃO99
System.out.println("Pessoa não encontrada");
return null;
}void imprimeDados(){
for (int i=0; i
class ComunidadeAcademica
{
Pessoa [] comunidade = new Pessoa [5000];
int nrPessoas = 0;
void inserePessoa(Pessoa p) {
comunidade[nrPessoas] = p;
nrPessoas++;
Neste exemplo, quemétodos Pessoa 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");
métodos Pessoa deveria saber executar?
SISTEMAS DEINFORMAÇÃO
10
1010
10SISTEMAS DEINFORMAÇÃO10
1010
10SISTEMAS DEINFORMAÇÃO10
10SISTEMAS DEINFORMAÇÃO10
1010
10SISTEMAS DEINFORMAÇÃO10
1010
10SISTEMAS DEINFORMAÇÃO10
10SISTEMAS DEINFORMAÇÃO10
1010
SISTEMAS DEINFORMAÇÃO
10
1010
10 10SISTEMAS DEINFORMAÇÃO
10
1010
10SISTEMAS DEINFORMAÇÃO10
10SISTEMAS DEINFORMAÇÃO10
1010
10SISTEMAS DEINFORMAÇÃO10
1010
10SISTEMAS DEINFORMAÇÃO10
10SISTEMAS DEINFORMAÇÃO10
1010
10SISTEMAS DEINFORMAÇÃO1010
System.out.println("Pessoa não encontrada");
return null;
}void imprimeDados(){
for (int i=0; i
Interface• Um exemplo: criação de um zoológico virtual
• Vários tipos de animais
• Mensagens para cada animal:
• nasça()
• passeiePelaTela()
• durma()
SISTEMAS DEINFORMAÇÃO
11
1111
11SISTEMAS DEINFORMAÇÃO11
1111
11SISTEMAS DEINFORMAÇÃO11
11SISTEMAS DEINFORMAÇÃO11
1111
11SISTEMAS DEINFORMAÇÃO11
1111
11SISTEMAS DEINFORMAÇÃO11
11SISTEMAS DEINFORMAÇÃO11
1111
SISTEMAS DEINFORMAÇÃO
11
1111
11 11SISTEMAS DEINFORMAÇÃO
11
1111
11SISTEMAS DEINFORMAÇÃO11
11SISTEMAS DEINFORMAÇÃO11
1111
11SISTEMAS DEINFORMAÇÃO11
1111
11SISTEMAS DEINFORMAÇÃO11
11SISTEMAS DEINFORMAÇÃO11
1111
11SISTEMAS DEINFORMAÇÃO1111
11SISTEMAS DEINFORMAÇÃO11
1111
11SISTEMAS DEINFORMAÇÃO11
11SISTEMAS DEINFORMAÇÃO11
1111
11SISTEMAS DEINFORMAÇÃO11
1111
11SISTEMAS DEINFORMAÇÃO11
11SISTEMAS DEINFORMAÇÃO11
1111
11SISTEMAS DEINFORMAÇÃO11
1111
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?
SISTEMAS DEINFORMAÇÃO
12
1212
12SISTEMAS DEINFORMAÇÃO12
1212
12SISTEMAS DEINFORMAÇÃO12
12SISTEMAS DEINFORMAÇÃO12
1212
12SISTEMAS DEINFORMAÇÃO12
1212
12SISTEMAS DEINFORMAÇÃO12
12SISTEMAS DEINFORMAÇÃO12
1212
SISTEMAS DEINFORMAÇÃO
12
1212
12 12SISTEMAS DEINFORMAÇÃO
12
1212
12SISTEMAS DEINFORMAÇÃO12
12SISTEMAS DEINFORMAÇÃO12
1212
12SISTEMAS DEINFORMAÇÃO12
1212
12SISTEMAS DEINFORMAÇÃO12
12SISTEMAS DEINFORMAÇÃO12
1212
12SISTEMAS DEINFORMAÇÃO1212
12SISTEMAS DEINFORMAÇÃO12
1212
12SISTEMAS DEINFORMAÇÃO12
12SISTEMAS DEINFORMAÇÃO12
1212
12SISTEMAS DEINFORMAÇÃO12
1212
12SISTEMAS DEINFORMAÇÃO12
12SISTEMAS DEINFORMAÇÃO12
1212
12SISTEMAS DEINFORMAÇÃO12
1212
Interface• Um exemplo: criação de um zoológico virtual
• Como fazer ???
SISTEMAS DEINFORMAÇÃO
13
1313
13SISTEMAS DEINFORMAÇÃO13
1313
13SISTEMAS DEINFORMAÇÃO13
13SISTEMAS DEINFORMAÇÃO13
1313
13SISTEMAS DEINFORMAÇÃO13
1313
13SISTEMAS DEINFORMAÇÃO13
13SISTEMAS DEINFORMAÇÃO13
1313
SISTEMAS DEINFORMAÇÃO
13
1313
13 13SISTEMAS DEINFORMAÇÃO
13
1313
13SISTEMAS DEINFORMAÇÃO13
13SISTEMAS DEINFORMAÇÃO13
1313
13SISTEMAS DEINFORMAÇÃO13
1313
13SISTEMAS DEINFORMAÇÃO13
13SISTEMAS DEINFORMAÇÃO13
1313
13SISTEMAS DEINFORMAÇÃO1313
13SISTEMAS DEINFORMAÇÃO13
1313
13SISTEMAS DEINFORMAÇÃO13
13SISTEMAS DEINFORMAÇÃO13
1313
13SISTEMAS DEINFORMAÇÃO13
1313
13SISTEMAS DEINFORMAÇÃO13
13SISTEMAS DEINFORMAÇÃO13
1313
13SISTEMAS DEINFORMAÇÃO13
1313
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...
SISTEMAS DEINFORMAÇÃO
14
1414
14SISTEMAS DEINFORMAÇÃO14
1414
14SISTEMAS DEINFORMAÇÃO14
14SISTEMAS DEINFORMAÇÃO14
1414
14SISTEMAS DEINFORMAÇÃO14
1414
14SISTEMAS DEINFORMAÇÃO14
14SISTEMAS DEINFORMAÇÃO14
1414
SISTEMAS DEINFORMAÇÃO
14
1414
14 14SISTEMAS DEINFORMAÇÃO
14
1414
14SISTEMAS DEINFORMAÇÃO14
14SISTEMAS DEINFORMAÇÃO14
1414
14SISTEMAS DEINFORMAÇÃO14
1414
14SISTEMAS DEINFORMAÇÃO14
14SISTEMAS DEINFORMAÇÃO14
1414
14SISTEMAS DEINFORMAÇÃO1414
14SISTEMAS DEINFORMAÇÃO14
1414
14SISTEMAS DEINFORMAÇÃO14
14SISTEMAS DEINFORMAÇÃO14
1414
14SISTEMAS DEINFORMAÇÃO14
1414
14SISTEMAS DEINFORMAÇÃO14
14SISTEMAS DEINFORMAÇÃO14
1414
14SISTEMAS DEINFORMAÇÃO14
1414
• Então...
Interface• Um exemplo: criação de um zoológico virtual
interface Animal
{{
void nasça();
void passeiePelaTela();
void durma();
double peso();
SISTEMAS DEINFORMAÇÃO
15
1515
15SISTEMAS DEINFORMAÇÃO15
1515
15SISTEMAS DEINFORMAÇÃO15
15SISTEMAS DEINFORMAÇÃO15
1515
15SISTEMAS DEINFORMAÇÃO15
1515
15SISTEMAS DEINFORMAÇÃO15
15SISTEMAS DEINFORMAÇÃO15
1515
SISTEMAS DEINFORMAÇÃO
15
1515
15 15SISTEMAS DEINFORMAÇÃO
15
1515
15SISTEMAS DEINFORMAÇÃO15
15SISTEMAS DEINFORMAÇÃO15
1515
15SISTEMAS DEINFORMAÇÃO15
1515
15SISTEMAS DEINFORMAÇÃO15
15SISTEMAS DEINFORMAÇÃO15
1515
15SISTEMAS DEINFORMAÇÃO1515
15SISTEMAS DEINFORMAÇÃO15
1515
15SISTEMAS DEINFORMAÇÃO15
15SISTEMAS DEINFORMAÇÃO15
1515
15SISTEMAS DEINFORMAÇÃO15
1515
15SISTEMAS DEINFORMAÇÃO15
15SISTEMAS DEINFORMAÇÃO15
1515
15SISTEMAS DEINFORMAÇÃO15
1515
}
Interface• Um exemplo: criação de um zoológico virtual
interface Animal
{{
void nasça();
void passeiePelaTela();
void durma();
double peso();
SISTEMAS DEINFORMAÇÃO
16
1616
16SISTEMAS DEINFORMAÇÃO16
1616
16SISTEMAS DEINFORMAÇÃO16
16SISTEMAS DEINFORMAÇÃO16
1616
16SISTEMAS DEINFORMAÇÃO16
1616
16SISTEMAS DEINFORMAÇÃO16
16SISTEMAS DEINFORMAÇÃO16
1616
SISTEMAS DEINFORMAÇÃO
16
1616
16 16SISTEMAS DEINFORMAÇÃO
16
1616
16SISTEMAS DEINFORMAÇÃO16
16SISTEMAS DEINFORMAÇÃO16
1616
16SISTEMAS DEINFORMAÇÃO16
1616
16SISTEMAS DEINFORMAÇÃO16
16SISTEMAS DEINFORMAÇÃO16
1616
16SISTEMAS DEINFORMAÇÃO1616
16SISTEMAS DEINFORMAÇÃO16
1616
16SISTEMAS DEINFORMAÇÃO16
16SISTEMAS DEINFORMAÇÃO16
1616
16SISTEMAS DEINFORMAÇÃO16
1616
16SISTEMAS DEINFORMAÇÃO16
16SISTEMAS DEINFORMAÇÃO16
1616
16SISTEMAS DEINFORMAÇÃO16
1616
}
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
SISTEMAS DEINFORMAÇÃO
17
1717
17SISTEMAS DEINFORMAÇÃO17
1717
17SISTEMAS DEINFORMAÇÃO17
17SISTEMAS DEINFORMAÇÃO17
1717
17SISTEMAS DEINFORMAÇÃO17
1717
17SISTEMAS DEINFORMAÇÃO17
17SISTEMAS DEINFORMAÇÃO17
1717
SISTEMAS DEINFORMAÇÃO
17
1717
17 17SISTEMAS DEINFORMAÇÃO
17
1717
17SISTEMAS DEINFORMAÇÃO17
17SISTEMAS DEINFORMAÇÃO17
1717
17SISTEMAS DEINFORMAÇÃO17
1717
17SISTEMAS DEINFORMAÇÃO17
17SISTEMAS DEINFORMAÇÃO17
1717
17SISTEMAS DEINFORMAÇÃO1717
17SISTEMAS DEINFORMAÇÃO17
1717
17SISTEMAS DEINFORMAÇÃO17
17SISTEMAS DEINFORMAÇÃO17
1717
17SISTEMAS DEINFORMAÇÃO17
1717
17SISTEMAS DEINFORMAÇÃO17
17SISTEMAS DEINFORMAÇÃO17
1717
17SISTEMAS DEINFORMAÇÃO17
1717
}
Interfaceinterface Animal
{
public class Morcego implements Animal{
public void nasça() {
System.out.println("Nasceu um morceguinho...");void nasça();
void passeiePelaTela();
void durma();
double peso();
}
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.");}
SISTEMAS DEINFORMAÇÃO
18
1818
18SISTEMAS DEINFORMAÇÃO18
1818
18SISTEMAS DEINFORMAÇÃO18
18SISTEMAS DEINFORMAÇÃO18
1818
18SISTEMAS DEINFORMAÇÃO18
1818
18SISTEMAS DEINFORMAÇÃO18
18SISTEMAS DEINFORMAÇÃO18
1818
SISTEMAS DEINFORMAÇÃO
18
1818
18 18SISTEMAS DEINFORMAÇÃO
18
1818
18SISTEMAS DEINFORMAÇÃO18
18SISTEMAS DEINFORMAÇÃO18
1818
18SISTEMAS DEINFORMAÇÃO18
1818
18SISTEMAS DEINFORMAÇÃO18
18SISTEMAS DEINFORMAÇÃO18
1818
18SISTEMAS DEINFORMAÇÃO1818
18SISTEMAS DEINFORMAÇÃO18
1818
18SISTEMAS DEINFORMAÇÃO18
18SISTEMAS DEINFORMAÇÃO18
1818
18SISTEMAS DEINFORMAÇÃO18
1818
18SISTEMAS DEINFORMAÇÃO18
18SISTEMAS DEINFORMAÇÃO18
1818
18SISTEMAS DEINFORMAÇÃO18
1818
} }
public double peso() {
System.out.println("Este é um morcego gordo!");return (4.5);
}
}
Interfacepublic class Morcego implements Animal{
public void nasça() {
System.out.println(“Nasceu um morceguinho...”);
interface Animal
{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.”);}
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ê?
void nasça();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAÇÃO
19
1919
19SISTEMAS DEINFORMAÇÃO19
1919
19SISTEMAS DEINFORMAÇÃO19
19SISTEMAS DEINFORMAÇÃO19
1919
19SISTEMAS DEINFORMAÇÃO19
1919
19SISTEMAS DEINFORMAÇÃO19
19SISTEMAS DEINFORMAÇÃO19
1919
SISTEMAS DEINFORMAÇÃO
19
1919
19 19SISTEMAS DEINFORMAÇÃO
19
1919
19SISTEMAS DEINFORMAÇÃO19
19SISTEMAS DEINFORMAÇÃO19
1919
19SISTEMAS DEINFORMAÇÃO19
1919
19SISTEMAS DEINFORMAÇÃO19
19SISTEMAS DEINFORMAÇÃO19
1919
19SISTEMAS DEINFORMAÇÃO1919
19SISTEMAS DEINFORMAÇÃO19
1919
19SISTEMAS DEINFORMAÇÃO19
19SISTEMAS DEINFORMAÇÃO19
1919
19SISTEMAS DEINFORMAÇÃO19
1919
19SISTEMAS DEINFORMAÇÃO19
19SISTEMAS DEINFORMAÇÃO19
1919
19SISTEMAS DEINFORMAÇÃO19
1919
}
double peso() {
System.out.println(“Este é um morcego gordo!”);return (4.5);
}
}
devem ser públicos. Por quê?}
Interfacepublic class Morcego implements Animal{
public void nasça() {
System.out.println(“Nasceu um morceguinho...”);
interface Animal
{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.”);}
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.
void nasça();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAÇÃO
20
2020
20SISTEMAS DEINFORMAÇÃO20
2020
20SISTEMAS DEINFORMAÇÃO20
20SISTEMAS DEINFORMAÇÃO20
2020
20SISTEMAS DEINFORMAÇÃO20
2020
20SISTEMAS DEINFORMAÇÃO20
20SISTEMAS DEINFORMAÇÃO20
2020
SISTEMAS DEINFORMAÇÃO
20
2020
20 20SISTEMAS DEINFORMAÇÃO
20
2020
20SISTEMAS DEINFORMAÇÃO20
20SISTEMAS DEINFORMAÇÃO20
2020
20SISTEMAS DEINFORMAÇÃO20
2020
20SISTEMAS DEINFORMAÇÃO20
20SISTEMAS DEINFORMAÇÃO20
2020
20SISTEMAS DEINFORMAÇÃO2020
20SISTEMAS DEINFORMAÇÃO20
2020
20SISTEMAS DEINFORMAÇÃO20
20SISTEMAS DEINFORMAÇÃO20
2020
20SISTEMAS DEINFORMAÇÃO20
2020
20SISTEMAS DEINFORMAÇÃO20
20SISTEMAS DEINFORMAÇÃO20
2020
20SISTEMAS DEINFORMAÇÃO20
2020
}
double peso() {
System.out.println(“Este é um morcego gordo!”);return (4.5);
}
}
devem ser públicos.}
Não definimos especificadores de acesso na interface,
pelo mesmo motivo.
Interfacepublic class Pato implements Animal{
public double peso;
Pato(double p) {
interface Animal
{
{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á.");}
void nasça();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAÇÃO
21
2121
21SISTEMAS DEINFORMAÇÃO21
2121
21SISTEMAS DEINFORMAÇÃO21
21SISTEMAS DEINFORMAÇÃO21
2121
21SISTEMAS DEINFORMAÇÃO21
2121
21SISTEMAS DEINFORMAÇÃO21
21SISTEMAS DEINFORMAÇÃO21
2121
SISTEMAS DEINFORMAÇÃO
21
2121
21 21SISTEMAS DEINFORMAÇÃO
21
2121
21SISTEMAS DEINFORMAÇÃO21
21SISTEMAS DEINFORMAÇÃO21
2121
21SISTEMAS DEINFORMAÇÃO21
2121
21SISTEMAS DEINFORMAÇÃO21
21SISTEMAS DEINFORMAÇÃO21
2121
21SISTEMAS DEINFORMAÇÃO2121
21SISTEMAS DEINFORMAÇÃO21
2121
21SISTEMAS DEINFORMAÇÃO21
21SISTEMAS DEINFORMAÇÃO21
2121
21SISTEMAS DEINFORMAÇÃO21
2121
21SISTEMAS DEINFORMAÇÃO21
21SISTEMAS DEINFORMAÇÃO21
2121
21SISTEMAS DEINFORMAÇÃO21
2121
public void durma() {
System.out.println("Dorme em pé.");}
public double peso() {
return peso;}
}
}
Interface public class Zebra implements Animal{double peso;int listras;
Zebra(double p, int l) {
peso = p;listras =l;
}
interface Animal
{
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...");}
void nasça();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAÇÃO
22
2222
22SISTEMAS DEINFORMAÇÃO22
2222
22SISTEMAS DEINFORMAÇÃO22
22SISTEMAS DEINFORMAÇÃO22
2222
22SISTEMAS DEINFORMAÇÃO22
2222
22SISTEMAS DEINFORMAÇÃO22
22SISTEMAS DEINFORMAÇÃO22
2222
SISTEMAS DEINFORMAÇÃO
22
2222
22 22SISTEMAS DEINFORMAÇÃO
22
2222
22SISTEMAS DEINFORMAÇÃO22
22SISTEMAS DEINFORMAÇÃO22
2222
22SISTEMAS DEINFORMAÇÃO22
2222
22SISTEMAS DEINFORMAÇÃO22
22SISTEMAS DEINFORMAÇÃO22
2222
22SISTEMAS DEINFORMAÇÃO2222
22SISTEMAS DEINFORMAÇÃO22
2222
22SISTEMAS DEINFORMAÇÃO22
22SISTEMAS DEINFORMAÇÃO22
2222
22SISTEMAS DEINFORMAÇÃO22
2222
22SISTEMAS DEINFORMAÇÃO22
22SISTEMAS DEINFORMAÇÃO22
2222
22SISTEMAS DEINFORMAÇÃO22
2222
public double peso() {
return peso;}
public void exibeListras() {
System.out.println("Minha zebra tem " + listras + "listras.");}
}
}
Interface public class Zebra implements Animal{double peso;int listras;
Zebra(double p, int l) {
peso = p;listras =l;
}
interface Animal
{
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...");}
Pode ter métodos extras (específicos
da classe)
void nasça();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAÇÃO
23
2323
23SISTEMAS DEINFORMAÇÃO23
2323
23SISTEMAS DEINFORMAÇÃO23
23SISTEMAS DEINFORMAÇÃO23
2323
23SISTEMAS DEINFORMAÇÃO23
2323
23SISTEMAS DEINFORMAÇÃO23
23SISTEMAS DEINFORMAÇÃO23
2323
SISTEMAS DEINFORMAÇÃO
23
2323
23 23SISTEMAS DEINFORMAÇÃO
23
2323
23SISTEMAS DEINFORMAÇÃO23
23SISTEMAS DEINFORMAÇÃO23
2323
23SISTEMAS DEINFORMAÇÃO23
2323
23SISTEMAS DEINFORMAÇÃO23
23SISTEMAS DEINFORMAÇÃO23
2323
23SISTEMAS DEINFORMAÇÃO2323
23SISTEMAS DEINFORMAÇÃO23
2323
23SISTEMAS DEINFORMAÇÃO23
23SISTEMAS DEINFORMAÇÃO23
2323
23SISTEMAS DEINFORMAÇÃO23
2323
23SISTEMAS DEINFORMAÇÃO23
23SISTEMAS DEINFORMAÇÃO23
2323
23SISTEMAS DEINFORMAÇÃO23
2323
public double peso() {
return peso;}
public void exibeListras() {
System.out.println("Minha zebra tem " + listras + "listras.");}
}
}
Interface• Observação sobre arquivos X classes em Java:
• normalmente cada classe vai em um arquivo .java de mesmo nome da classe, mas isto não é obrigatório;nome da classe, mas isto não é obrigatório;
• 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;
SISTEMAS DEINFORMAÇÃO
24
2424
24SISTEMAS DEINFORMAÇÃO24
2424
24SISTEMAS DEINFORMAÇÃO24
24SISTEMAS DEINFORMAÇÃO24
2424
24SISTEMAS DEINFORMAÇÃO24
2424
24SISTEMAS DEINFORMAÇÃO24
24SISTEMAS DEINFORMAÇÃO24
2424
SISTEMAS DEINFORMAÇÃO
24
2424
24 24SISTEMAS DEINFORMAÇÃO
24
2424
24SISTEMAS DEINFORMAÇÃO24
24SISTEMAS DEINFORMAÇÃO24
2424
24SISTEMAS DEINFORMAÇÃO24
2424
24SISTEMAS DEINFORMAÇÃO24
24SISTEMAS DEINFORMAÇÃO24
2424
24SISTEMAS DEINFORMAÇÃO2424
24SISTEMAS DEINFORMAÇÃO24
2424
24SISTEMAS DEINFORMAÇÃO24
24SISTEMAS DEINFORMAÇÃO24
2424
24SISTEMAS DEINFORMAÇÃO24
2424
24SISTEMAS DEINFORMAÇÃO24
24SISTEMAS DEINFORMAÇÃO24
2424
24SISTEMAS DEINFORMAÇÃO24
2424
devem obrigatoriamente estar em arquivos separados;
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 • 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);
SISTEMAS DEINFORMAÇÃO
25
2525
25SISTEMAS DEINFORMAÇÃO25
2525
25SISTEMAS DEINFORMAÇÃO25
25SISTEMAS DEINFORMAÇÃO25
2525
25SISTEMAS DEINFORMAÇÃO25
2525
25SISTEMAS DEINFORMAÇÃO25
25SISTEMAS DEINFORMAÇÃO25
2525
SISTEMAS DEINFORMAÇÃO
25
2525
25 25SISTEMAS DEINFORMAÇÃO
25
2525
25SISTEMAS DEINFORMAÇÃO25
25SISTEMAS DEINFORMAÇÃO25
2525
25SISTEMAS DEINFORMAÇÃO25
2525
25SISTEMAS DEINFORMAÇÃO25
25SISTEMAS DEINFORMAÇÃO25
2525
25SISTEMAS DEINFORMAÇÃO2525
25SISTEMAS DEINFORMAÇÃO25
2525
25SISTEMAS DEINFORMAÇÃO25
25SISTEMAS DEINFORMAÇÃO25
2525
25SISTEMAS DEINFORMAÇÃO25
2525
25SISTEMAS DEINFORMAÇÃO25
25SISTEMAS DEINFORMAÇÃO25
2525
25SISTEMAS DEINFORMAÇÃO25
2525
TAMBÉM DEFINE UM TIPO);
• Vamos usar as classes criadas…
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela(); O que significa?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);
O que significa?
SISTEMAS DEINFORMAÇÃO
26
2626
26SISTEMAS DEINFORMAÇÃO26
2626
26SISTEMAS DEINFORMAÇÃO26
26SISTEMAS DEINFORMAÇÃO26
2626
26SISTEMAS DEINFORMAÇÃO26
2626
26SISTEMAS DEINFORMAÇÃO26
26SISTEMAS DEINFORMAÇÃO26
2626
SISTEMAS DEINFORMAÇÃO
26
2626
26 26SISTEMAS DEINFORMAÇÃO
26
2626
26SISTEMAS DEINFORMAÇÃO26
26SISTEMAS DEINFORMAÇÃO26
2626
26SISTEMAS DEINFORMAÇÃO26
2626
26SISTEMAS DEINFORMAÇÃO26
26SISTEMAS DEINFORMAÇÃO26
2626
26SISTEMAS DEINFORMAÇÃO2626
26SISTEMAS DEINFORMAÇÃO26
2626
26SISTEMAS DEINFORMAÇÃO26
26SISTEMAS DEINFORMAÇÃO26
2626
26SISTEMAS DEINFORMAÇÃO26
2626
26SISTEMAS DEINFORMAÇÃO26
26SISTEMAS DEINFORMAÇÃO26
2626
26SISTEMAS DEINFORMAÇÃO26
2626
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela(); O que significa?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);
O que significa?Posso executar os métodos sem ter objetos instanciados
SISTEMAS DEINFORMAÇÃO
27
2727
27SISTEMAS DEINFORMAÇÃO27
2727
27SISTEMAS DEINFORMAÇÃO27
27SISTEMAS DEINFORMAÇÃO27
2727
27SISTEMAS DEINFORMAÇÃO27
2727
27SISTEMAS DEINFORMAÇÃO27
27SISTEMAS DEINFORMAÇÃO27
2727
SISTEMAS DEINFORMAÇÃO
27
2727
27 27SISTEMAS DEINFORMAÇÃO
27
2727
27SISTEMAS DEINFORMAÇÃO27
27SISTEMAS DEINFORMAÇÃO27
2727
27SISTEMAS DEINFORMAÇÃO27
2727
27SISTEMAS DEINFORMAÇÃO27
27SISTEMAS DEINFORMAÇÃO27
2727
27SISTEMAS DEINFORMAÇÃO2727
27SISTEMAS DEINFORMAÇÃO27
2727
27SISTEMAS DEINFORMAÇÃO27
27SISTEMAS DEINFORMAÇÃO27
2727
27SISTEMAS DEINFORMAÇÃO27
2727
27SISTEMAS DEINFORMAÇÃO27
27SISTEMAS DEINFORMAÇÃO27
2727
27SISTEMAS DEINFORMAÇÃO27
2727
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();
> Zoologico.fazFuncionar() Zebrinha bebê nascendo...Zebra galopa pela tela.
Zebra dorme sem roncar.... 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);
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.
SISTEMAS DEINFORMAÇÃO
28
2828
28SISTEMAS DEINFORMAÇÃO28
2828
28SISTEMAS DEINFORMAÇÃO28
28SISTEMAS DEINFORMAÇÃO28
2828
28SISTEMAS DEINFORMAÇÃO28
2828
28SISTEMAS DEINFORMAÇÃO28
28SISTEMAS DEINFORMAÇÃO28
2828
SISTEMAS DEINFORMAÇÃO
28
2828
28 28SISTEMAS DEINFORMAÇÃO
28
2828
28SISTEMAS DEINFORMAÇÃO28
28SISTEMAS DEINFORMAÇÃO28
2828
28SISTEMAS DEINFORMAÇÃO28
2828
28SISTEMAS DEINFORMAÇÃO28
28SISTEMAS DEINFORMAÇÃO28
2828
28SISTEMAS DEINFORMAÇÃO2828
28SISTEMAS DEINFORMAÇÃO28
2828
28SISTEMAS DEINFORMAÇÃO28
28SISTEMAS DEINFORMAÇÃO28
2828
28SISTEMAS DEINFORMAÇÃO28
2828
28SISTEMAS DEINFORMAÇÃO28
28SISTEMAS DEINFORMAÇÃO28
2828
28SISTEMAS DEINFORMAÇÃO28
2828
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Dorme de cabeça para baixo.
Quebra o ovo.Anda em duas patas. Quá Quá QuáDorme em pé
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();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);
Observe este código.Quais as consequências dessas definições ???
SISTEMAS DEINFORMAÇÃO
29
2929
29SISTEMAS DEINFORMAÇÃO29
2929
29SISTEMAS DEINFORMAÇÃO29
29SISTEMAS DEINFORMAÇÃO29
2929
29SISTEMAS DEINFORMAÇÃO29
2929
29SISTEMAS DEINFORMAÇÃO29
29SISTEMAS DEINFORMAÇÃO29
2929
SISTEMAS DEINFORMAÇÃO
29
2929
29 29SISTEMAS DEINFORMAÇÃO
29
2929
29SISTEMAS DEINFORMAÇÃO29
29SISTEMAS DEINFORMAÇÃO29
2929
29SISTEMAS DEINFORMAÇÃO29
2929
29SISTEMAS DEINFORMAÇÃO29
29SISTEMAS DEINFORMAÇÃO29
2929
29SISTEMAS DEINFORMAÇÃO2929
29SISTEMAS DEINFORMAÇÃO29
2929
29SISTEMAS DEINFORMAÇÃO29
29SISTEMAS DEINFORMAÇÃO29
2929
29SISTEMAS DEINFORMAÇÃO29
2929
29SISTEMAS DEINFORMAÇÃO29
29SISTEMAS DEINFORMAÇÃO29
2929
29SISTEMAS DEINFORMAÇÃO29
2929
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
public class Zebra implements Animal{
double peso;int listras;
Zebra(double p, int l) {
peso = p;listras =l;
}
interface Animal
{
void nasça(); 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...");}
void nasça();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAÇÃO
30
3030
30SISTEMAS DEINFORMAÇÃO30
3030
30SISTEMAS DEINFORMAÇÃO30
30SISTEMAS DEINFORMAÇÃO30
3030
30SISTEMAS DEINFORMAÇÃO30
3030
30SISTEMAS DEINFORMAÇÃO30
30SISTEMAS DEINFORMAÇÃO30
3030
SISTEMAS DEINFORMAÇÃO
30
3030
30 30SISTEMAS DEINFORMAÇÃO
30
3030
30SISTEMAS DEINFORMAÇÃO30
30SISTEMAS DEINFORMAÇÃO30
3030
30SISTEMAS DEINFORMAÇÃO30
3030
30SISTEMAS DEINFORMAÇÃO30
30SISTEMAS DEINFORMAÇÃO30
3030
30SISTEMAS DEINFORMAÇÃO3030
30SISTEMAS DEINFORMAÇÃO30
3030
30SISTEMAS DEINFORMAÇÃO30
30SISTEMAS DEINFORMAÇÃO30
3030
30SISTEMAS DEINFORMAÇÃO30
3030
30SISTEMAS DEINFORMAÇÃO30
30SISTEMAS DEINFORMAÇÃO30
3030
30SISTEMAS DEINFORMAÇÃO30
3030
public double peso() {
return peso;}
public void exibeListras() {
System.out.println("Minha zebra tem " + listras + "listras.");}
}
public class Zebra implements Animal{
double peso;int listras;
Zebra(double p, int l) {
peso = p;listras =l;
}
interface Animal
{
void nasça(); 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...");}
void nasça();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAÇÃO
31
3131
31SISTEMAS DEINFORMAÇÃO31
3131
31SISTEMAS DEINFORMAÇÃO31
31SISTEMAS DEINFORMAÇÃO31
3131
31SISTEMAS DEINFORMAÇÃO31
3131
31SISTEMAS DEINFORMAÇÃO31
31SISTEMAS DEINFORMAÇÃO31
3131
SISTEMAS DEINFORMAÇÃO
31
3131
31 31SISTEMAS DEINFORMAÇÃO
31
3131
31SISTEMAS DEINFORMAÇÃO31
31SISTEMAS DEINFORMAÇÃO31
3131
31SISTEMAS DEINFORMAÇÃO31
3131
31SISTEMAS DEINFORMAÇÃO31
31SISTEMAS DEINFORMAÇÃO31
3131
31SISTEMAS DEINFORMAÇÃO3131
31SISTEMAS DEINFORMAÇÃO31
3131
31SISTEMAS DEINFORMAÇÃO31
31SISTEMAS DEINFORMAÇÃO31
3131
31SISTEMAS DEINFORMAÇÃO31
3131
31SISTEMAS DEINFORMAÇÃO31
31SISTEMAS DEINFORMAÇÃO31
3131
31SISTEMAS DEINFORMAÇÃO31
3131
public double peso() {
return peso;}
public void exibeListras() {
System.out.println("Minha zebra tem " + listras + "listras.");}
}
public class Zebra implements Animal{
double peso;int listras;
Zebra(double p, int l) {
peso = p;listras =l;
}
interface Animal
{
void nasça(); 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...");}
void nasça();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAÇÃO
32
3232
32SISTEMAS DEINFORMAÇÃO32
3232
32SISTEMAS DEINFORMAÇÃO32
32SISTEMAS DEINFORMAÇÃO32
3232
32SISTEMAS DEINFORMAÇÃO32
3232
32SISTEMAS DEINFORMAÇÃO32
32SISTEMAS DEINFORMAÇÃO32
3232
SISTEMAS DEINFORMAÇÃO
32
3232
32 32SISTEMAS DEINFORMAÇÃO
32
3232
32SISTEMAS DEINFORMAÇÃO32
32SISTEMAS DEINFORMAÇÃO32
3232
32SISTEMAS DEINFORMAÇÃO32
3232
32SISTEMAS DEINFORMAÇÃO32
32SISTEMAS DEINFORMAÇÃO32
3232
32SISTEMAS DEINFORMAÇÃO3232
32SISTEMAS DEINFORMAÇÃO32
3232
32SISTEMAS DEINFORMAÇÃO32
32SISTEMAS DEINFORMAÇÃO32
3232
32SISTEMAS DEINFORMAÇÃO32
3232
32SISTEMAS DEINFORMAÇÃO32
32SISTEMAS DEINFORMAÇÃO32
3232
32SISTEMAS DEINFORMAÇÃO32
3232
public double peso() {
return peso;}
public void exibeListras() {
System.out.println("Minha zebra tem " + listras + "listras.");}
}
public class Zebra implements Animal{
double peso;int listras;
Zebra(double p, int l) {
peso = p;listras =l;
}
interface Animal
{
void nasça(); 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...");}
void nasça();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAÇÃO
33
3333
33SISTEMAS DEINFORMAÇÃO33
3333
33SISTEMAS DEINFORMAÇÃO33
33SISTEMAS DEINFORMAÇÃO33
3333
33SISTEMAS DEINFORMAÇÃO33
3333
33SISTEMAS DEINFORMAÇÃO33
33SISTEMAS DEINFORMAÇÃO33
3333
SISTEMAS DEINFORMAÇÃO
33
3333
33 33SISTEMAS DEINFORMAÇÃO
33
3333
33SISTEMAS DEINFORMAÇÃO33
33SISTEMAS DEINFORMAÇÃO33
3333
33SISTEMAS DEINFORMAÇÃO33
3333
33SISTEMAS DEINFORMAÇÃO33
33SISTEMAS DEINFORMAÇÃO33
3333
33SISTEMAS DEINFORMAÇÃO3333
33SISTEMAS DEINFORMAÇÃO33
3333
33SISTEMAS DEINFORMAÇÃO33
33SISTEMAS DEINFORMAÇÃO33
3333
33SISTEMAS DEINFORMAÇÃO33
3333
33SISTEMAS DEINFORMAÇÃO33
33SISTEMAS DEINFORMAÇÃO33
3333
33SISTEMAS DEINFORMAÇÃO33
3333
public double peso() {
return peso;}
public void exibeListras() {
System.out.println("Minha zebra tem " + listras + "listras.");}
}
public class Zebra implements Animal{
double peso;int listras;
Zebra(double p, int l) {
peso = p;listras =l;
}
interface Animal
{
void nasça(); 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...");}
void nasça();
void passeiePelaTela();
void durma();
double peso();
}
Não faz parte da interface...E daí?
SISTEMAS DEINFORMAÇÃO
34
3434
34SISTEMAS DEINFORMAÇÃO34
3434
34SISTEMAS DEINFORMAÇÃO34
34SISTEMAS DEINFORMAÇÃO34
3434
34SISTEMAS DEINFORMAÇÃO34
3434
34SISTEMAS DEINFORMAÇÃO34
34SISTEMAS DEINFORMAÇÃO34
3434
SISTEMAS DEINFORMAÇÃO
34
3434
34 34SISTEMAS DEINFORMAÇÃO
34
3434
34SISTEMAS DEINFORMAÇÃO34
34SISTEMAS DEINFORMAÇÃO34
3434
34SISTEMAS DEINFORMAÇÃO34
3434
34SISTEMAS DEINFORMAÇÃO34
34SISTEMAS DEINFORMAÇÃO34
3434
34SISTEMAS DEINFORMAÇÃO3434
34SISTEMAS DEINFORMAÇÃO34
3434
34SISTEMAS DEINFORMAÇÃO34
34SISTEMAS DEINFORMAÇÃO34
3434
34SISTEMAS DEINFORMAÇÃO34
3434
34SISTEMAS DEINFORMAÇÃO34
34SISTEMAS DEINFORMAÇÃO34
3434
34SISTEMAS DEINFORMAÇÃO34
3434
public double peso() {
return peso;}
public void exibeListras() {
System.out.println("Minha zebra tem " + listras + "listras.");}
}
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();
Não posso instanciar 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);
objetos da interface (Animal).Posso instanciar somente das classes que implementam a interface...Mas posso definir que o
SISTEMAS DEINFORMAÇÃO
35
3535
35SISTEMAS DEINFORMAÇÃO35
3535
35SISTEMAS DEINFORMAÇÃO35
35SISTEMAS DEINFORMAÇÃO35
3535
35SISTEMAS DEINFORMAÇÃO35
3535
35SISTEMAS DEINFORMAÇÃO35
35SISTEMAS DEINFORMAÇÃO35
3535
SISTEMAS DEINFORMAÇÃO
35
3535
35 35SISTEMAS DEINFORMAÇÃO
35
3535
35SISTEMAS DEINFORMAÇÃO35
35SISTEMAS DEINFORMAÇÃO35
3535
35SISTEMAS DEINFORMAÇÃO35
3535
35SISTEMAS DEINFORMAÇÃO35
35SISTEMAS DEINFORMAÇÃO35
3535
35SISTEMAS DEINFORMAÇÃO3535
35SISTEMAS DEINFORMAÇÃO35
3535
35SISTEMAS DEINFORMAÇÃO35
35SISTEMAS DEINFORMAÇÃO35
3535
35SISTEMAS DEINFORMAÇÃO35
3535
35SISTEMAS DEINFORMAÇÃO35
35SISTEMAS DEINFORMAÇÃO35
3535
35SISTEMAS DEINFORMAÇÃO35
3535
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Mas posso definir que o tipo do objeto instanciado é Animal
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();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);
Consequência:
> Zebra zebraPequena = new Zebra(50, 105);
> Animal zebraGrande = new Zebra(230,160);
> zebraPequena.exibeListras();
Minha zebra tem 105 listras.
> zebraGrande.exibeListras();
SISTEMAS DEINFORMAÇÃO
36
3636
36SISTEMAS DEINFORMAÇÃO36
3636
36SISTEMAS DEINFORMAÇÃO36
36SISTEMAS DEINFORMAÇÃO36
3636
36SISTEMAS DEINFORMAÇÃO36
3636
36SISTEMAS DEINFORMAÇÃO36
36SISTEMAS DEINFORMAÇÃO36
3636
SISTEMAS DEINFORMAÇÃO
36
3636
36 36SISTEMAS DEINFORMAÇÃO
36
3636
36SISTEMAS DEINFORMAÇÃO36
36SISTEMAS DEINFORMAÇÃO36
3636
36SISTEMAS DEINFORMAÇÃO36
3636
36SISTEMAS DEINFORMAÇÃO36
36SISTEMAS DEINFORMAÇÃO36
3636
36SISTEMAS DEINFORMAÇÃO3636
36SISTEMAS DEINFORMAÇÃO36
3636
36SISTEMAS DEINFORMAÇÃO36
36SISTEMAS DEINFORMAÇÃO36
3636
36SISTEMAS DEINFORMAÇÃO36
3636
36SISTEMAS DEINFORMAÇÃO36
36SISTEMAS DEINFORMAÇÃO36
3636
36SISTEMAS DEINFORMAÇÃO36
3636
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
????
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();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);
Consequência:
> Zebra zebraPequena = new Zebra(50, 105);
> Animal zebraGrande = new Zebra(230,160);
> zebraPequena.exibeListras();
Minha zebra tem 105 listras.
> zebraGrande.exibeListras();
SISTEMAS DEINFORMAÇÃO
37
3737
37SISTEMAS DEINFORMAÇÃO37
3737
37SISTEMAS DEINFORMAÇÃO37
37SISTEMAS DEINFORMAÇÃO37
3737
37SISTEMAS DEINFORMAÇÃO37
3737
37SISTEMAS DEINFORMAÇÃO37
37SISTEMAS DEINFORMAÇÃO37
3737
SISTEMAS DEINFORMAÇÃO
37
3737
37 37SISTEMAS DEINFORMAÇÃO
37
3737
37SISTEMAS DEINFORMAÇÃO37
37SISTEMAS DEINFORMAÇÃO37
3737
37SISTEMAS DEINFORMAÇÃO37
3737
37SISTEMAS DEINFORMAÇÃO37
37SISTEMAS DEINFORMAÇÃO37
3737
37SISTEMAS DEINFORMAÇÃO3737
37SISTEMAS DEINFORMAÇÃO37
3737
37SISTEMAS DEINFORMAÇÃO37
37SISTEMAS DEINFORMAÇÃO37
3737
37SISTEMAS DEINFORMAÇÃO37
3737
37SISTEMAS DEINFORMAÇÃO37
37SISTEMAS DEINFORMAÇÃO37
3737
37SISTEMAS DEINFORMAÇÃO37
3737
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Static Error: No method in Animal with name
'exibeListras' accepts arguments ()
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();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);
Consequência:
> Zebra zebraPequena = new Zebra(50, 105);
> Animal zebraGrande = new Zebra(230,160);
> zebraPequena.exibeListras();
Minha zebra tem 105 listras.
> zebraGrande.exibeListras();
SISTEMAS DEINFORMAÇÃO
38
3838
38SISTEMAS DEINFORMAÇÃO38
3838
38SISTEMAS DEINFORMAÇÃO38
38SISTEMAS DEINFORMAÇÃO38
3838
38SISTEMAS DEINFORMAÇÃO38
3838
38SISTEMAS DEINFORMAÇÃO38
38SISTEMAS DEINFORMAÇÃO38
3838
SISTEMAS DEINFORMAÇÃO
38
3838
38 38SISTEMAS DEINFORMAÇÃO
38
3838
38SISTEMAS DEINFORMAÇÃO38
38SISTEMAS DEINFORMAÇÃO38
3838
38SISTEMAS DEINFORMAÇÃO38
3838
38SISTEMAS DEINFORMAÇÃO38
38SISTEMAS DEINFORMAÇÃO38
3838
38SISTEMAS DEINFORMAÇÃO3838
38SISTEMAS DEINFORMAÇÃO38
3838
38SISTEMAS DEINFORMAÇÃO38
38SISTEMAS DEINFORMAÇÃO38
3838
38SISTEMAS DEINFORMAÇÃO38
3838
38SISTEMAS DEINFORMAÇÃO38
38SISTEMAS DEINFORMAÇÃO38
3838
38SISTEMAS DEINFORMAÇÃO38
3838
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
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!)
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();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);
Dá para melhorar ???
SISTEMAS DEINFORMAÇÃO
39
3939
39SISTEMAS DEINFORMAÇÃO39
3939
39SISTEMAS DEINFORMAÇÃO39
39SISTEMAS DEINFORMAÇÃO39
3939
39SISTEMAS DEINFORMAÇÃO39
3939
39SISTEMAS DEINFORMAÇÃO39
39SISTEMAS DEINFORMAÇÃO39
3939
SISTEMAS DEINFORMAÇÃO
39
3939
39 39SISTEMAS DEINFORMAÇÃO
39
3939
39SISTEMAS DEINFORMAÇÃO39
39SISTEMAS DEINFORMAÇÃO39
3939
39SISTEMAS DEINFORMAÇÃO39
3939
39SISTEMAS DEINFORMAÇÃO39
39SISTEMAS DEINFORMAÇÃO39
3939
39SISTEMAS DEINFORMAÇÃO3939
39SISTEMAS DEINFORMAÇÃO39
3939
39SISTEMAS DEINFORMAÇÃO39
39SISTEMAS DEINFORMAÇÃO39
3939
39SISTEMAS DEINFORMAÇÃO39
3939
39SISTEMAS DEINFORMAÇÃO39
39SISTEMAS DEINFORMAÇÃO39
3939
39SISTEMAS DEINFORMAÇÃO39
3939
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();
class Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela(); 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);
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);
SISTEMAS DEINFORMAÇÃO
40
4040
40SISTEMAS DEINFORMAÇÃO40
4040
40SISTEMAS DEINFORMAÇÃO40
40SISTEMAS DEINFORMAÇÃO40
4040
40SISTEMAS DEINFORMAÇÃO40
4040
40SISTEMAS DEINFORMAÇÃO40
40SISTEMAS DEINFORMAÇÃO40
4040
SISTEMAS DEINFORMAÇÃO
40
4040
40 40SISTEMAS DEINFORMAÇÃO
40
4040
40SISTEMAS DEINFORMAÇÃO40
40SISTEMAS DEINFORMAÇÃO40
4040
40SISTEMAS DEINFORMAÇÃO40
4040
40SISTEMAS DEINFORMAÇÃO40
40SISTEMAS DEINFORMAÇÃO40
4040
40SISTEMAS DEINFORMAÇÃO4040
40SISTEMAS DEINFORMAÇÃO40
4040
40SISTEMAS DEINFORMAÇÃO40
40SISTEMAS DEINFORMAÇÃO40
4040
40SISTEMAS DEINFORMAÇÃO40
4040
40SISTEMAS DEINFORMAÇÃO40
40SISTEMAS DEINFORMAÇÃO40
4040
40SISTEMAS DEINFORMAÇÃO40
4040
??? }
}
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();
class Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela(); 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);
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);
SISTEMAS DEINFORMAÇÃO
41
4141
41SISTEMAS DEINFORMAÇÃO41
4141
41SISTEMAS DEINFORMAÇÃO41
41SISTEMAS DEINFORMAÇÃO41
4141
41SISTEMAS DEINFORMAÇÃO41
4141
41SISTEMAS DEINFORMAÇÃO41
41SISTEMAS DEINFORMAÇÃO41
4141
SISTEMAS DEINFORMAÇÃO
41
4141
41 41SISTEMAS DEINFORMAÇÃO
41
4141
41SISTEMAS DEINFORMAÇÃO41
41SISTEMAS DEINFORMAÇÃO41
4141
41SISTEMAS DEINFORMAÇÃO41
4141
41SISTEMAS DEINFORMAÇÃO41
41SISTEMAS DEINFORMAÇÃO41
4141
41SISTEMAS DEINFORMAÇÃO4141
41SISTEMAS DEINFORMAÇÃO41
4141
41SISTEMAS DEINFORMAÇÃO41
41SISTEMAS DEINFORMAÇÃO41
4141
41SISTEMAS DEINFORMAÇÃO41
4141
41SISTEMAS DEINFORMAÇÃO41
41SISTEMAS DEINFORMAÇÃO41
4141
41SISTEMAS DEINFORMAÇÃO41
4141
for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]);
}}
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();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);
Dá para escrever de
outro jeito ???
SISTEMAS DEINFORMAÇÃO
42
4242
42SISTEMAS DEINFORMAÇÃO42
4242
42SISTEMAS DEINFORMAÇÃO42
42SISTEMAS DEINFORMAÇÃO42
4242
42SISTEMAS DEINFORMAÇÃO42
4242
42SISTEMAS DEINFORMAÇÃO42
42SISTEMAS DEINFORMAÇÃO42
4242
SISTEMAS DEINFORMAÇÃO
42
4242
42 42SISTEMAS DEINFORMAÇÃO
42
4242
42SISTEMAS DEINFORMAÇÃO42
42SISTEMAS DEINFORMAÇÃO42
4242
42SISTEMAS DEINFORMAÇÃO42
4242
42SISTEMAS DEINFORMAÇÃO42
42SISTEMAS DEINFORMAÇÃO42
4242
42SISTEMAS DEINFORMAÇÃO4242
42SISTEMAS DEINFORMAÇÃO42
4242
42SISTEMAS DEINFORMAÇÃO42
42SISTEMAS DEINFORMAÇÃO42
4242
42SISTEMAS DEINFORMAÇÃO42
4242
42SISTEMAS DEINFORMAÇÃO42
42SISTEMAS DEINFORMAÇÃO42
4242
42SISTEMAS DEINFORMAÇÃO42
4242
for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]);
}}
outro jeito ???
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();
class Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();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);
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++)
SISTEMAS DEINFORMAÇÃO
43
4343
43SISTEMAS DEINFORMAÇÃO43
4343
43SISTEMAS DEINFORMAÇÃO43
43SISTEMAS DEINFORMAÇÃO43
4343
43SISTEMAS DEINFORMAÇÃO43
4343
43SISTEMAS DEINFORMAÇÃO43
43SISTEMAS DEINFORMAÇÃO43
4343
SISTEMAS DEINFORMAÇÃO
43
4343
43 43SISTEMAS DEINFORMAÇÃO
43
4343
43SISTEMAS DEINFORMAÇÃO43
43SISTEMAS DEINFORMAÇÃO43
4343
43SISTEMAS DEINFORMAÇÃO43
4343
43SISTEMAS DEINFORMAÇÃO43
43SISTEMAS DEINFORMAÇÃO43
4343
43SISTEMAS DEINFORMAÇÃO4343
43SISTEMAS DEINFORMAÇÃO43
4343
43SISTEMAS DEINFORMAÇÃO43
43SISTEMAS DEINFORMAÇÃO43
4343
43SISTEMAS DEINFORMAÇÃO43
4343
43SISTEMAS DEINFORMAÇÃO43
43SISTEMAS DEINFORMAÇÃO43
4343
43SISTEMAS DEINFORMAÇÃO43
4343
for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]);
}}
for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]);
}}
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();
class Zoologico{
static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();
Primeira versão Última versão
animal.passeiePelaTela();animal.durma();
}
static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);
Animal zebraGrande = new Zebra(230,160);
Morcego m = new Morcego();
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++)
SISTEMAS DEINFORMAÇÃO
44
4444
44SISTEMAS DEINFORMAÇÃO44
4444
44SISTEMAS DEINFORMAÇÃO44
44SISTEMAS DEINFORMAÇÃO44
4444
44SISTEMAS DEINFORMAÇÃO44
4444
44SISTEMAS DEINFORMAÇÃO44
44SISTEMAS DEINFORMAÇÃO44
4444
SISTEMAS DEINFORMAÇÃO
44
4444
44 44SISTEMAS DEINFORMAÇÃO
44
4444
44SISTEMAS DEINFORMAÇÃO44
44SISTEMAS DEINFORMAÇÃO44
4444
44SISTEMAS DEINFORMAÇÃO44
4444
44SISTEMAS DEINFORMAÇÃO44
44SISTEMAS DEINFORMAÇÃO44
4444
44SISTEMAS DEINFORMAÇÃO4444
44SISTEMAS DEINFORMAÇÃO44
4444
44SISTEMAS DEINFORMAÇÃO44
44SISTEMAS DEINFORMAÇÃO44
4444
44SISTEMAS DEINFORMAÇÃO44
4444
44SISTEMAS DEINFORMAÇÃO44
44SISTEMAS DEINFORMAÇÃO44
4444
44SISTEMAS DEINFORMAÇÃO44
4444
Morcego m = new Morcego();Pato p= new Pato (3.2);
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]);
}}
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
SISTEMAS DEINFORMAÇÃO
45
4545
45SISTEMAS DEINFORMAÇÃO45
4545
45SISTEMAS DEINFORMAÇÃO45
45SISTEMAS DEINFORMAÇÃO45
4545
45SISTEMAS DEINFORMAÇÃO45
4545
45SISTEMAS DEINFORMAÇÃO45
45SISTEMAS DEINFORMAÇÃO45
4545
SISTEMAS DEINFORMAÇÃO
45
4545
45 45SISTEMAS DEINFORMAÇÃO
45
4545
45SISTEMAS DEINFORMAÇÃO45
45SISTEMAS DEINFORMAÇÃO45
4545
45SISTEMAS DEINFORMAÇÃO45
4545
45SISTEMAS DEINFORMAÇÃO45
45SISTEMAS DEINFORMAÇÃO45
4545
45SISTEMAS DEINFORMAÇÃO4545
45SISTEMAS DEINFORMAÇÃO45
4545
45SISTEMAS DEINFORMAÇÃO45
45SISTEMAS DEINFORMAÇÃO45
4545
45SISTEMAS DEINFORMAÇÃO45
4545
45SISTEMAS DEINFORMAÇÃO45
45SISTEMAS DEINFORMAÇÃO45
4545
45SISTEMAS DEINFORMAÇÃO45
4545
• um sócio de clube
• cada um desses “papéis” poderia entender mensagens próprias…
Implementando mais de uma Interface
• indivíduo – nasce, cresce, morre:
• homem – alista-se no exército• 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…
SISTEMAS DEINFORMAÇÃO
46
4646
46SISTEMAS DEINFORMAÇÃO46
4646
46SISTEMAS DEINFORMAÇÃO46
46SISTEMAS DEINFORMAÇÃO46
4646
46SISTEMAS DEINFORMAÇÃO46
4646
46SISTEMAS DEINFORMAÇÃO46
46SISTEMAS DEINFORMAÇÃO46
4646
SISTEMAS DEINFORMAÇÃO
46
4646
46 46SISTEMAS DEINFORMAÇÃO
46
4646
46SISTEMAS DEINFORMAÇÃO46
46SISTEMAS DEINFORMAÇÃO46
4646
46SISTEMAS DEINFORMAÇÃO46
4646
46SISTEMAS DEINFORMAÇÃO46
46SISTEMAS DEINFORMAÇÃO46
4646
46SISTEMAS DEINFORMAÇÃO4646
46SISTEMAS DEINFORMAÇÃO46
4646
46SISTEMAS DEINFORMAÇÃO46
46SISTEMAS DEINFORMAÇÃO46
4646
46SISTEMAS DEINFORMAÇÃO46
4646
46SISTEMAS DEINFORMAÇÃO46
46SISTEMAS DEINFORMAÇÃO46
4646
46SISTEMAS DEINFORMAÇÃO46
4646
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();}
SISTEMAS DEINFORMAÇÃO
47
4747
47SISTEMAS DEINFORMAÇÃO47
4747
47SISTEMAS DEINFORMAÇÃO47
47SISTEMAS DEINFORMAÇÃO47
4747
47SISTEMAS DEINFORMAÇÃO47
4747
47SISTEMAS DEINFORMAÇÃO47
47SISTEMAS DEINFORMAÇÃO47
4747
SISTEMAS DEINFORMAÇÃO
47
4747
47 47SISTEMAS DEINFORMAÇÃO
47
4747
47SISTEMAS DEINFORMAÇÃO47
47SISTEMAS DEINFORMAÇÃO47
4747
47SISTEMAS DEINFORMAÇÃO47
4747
47SISTEMAS DEINFORMAÇÃO47
47SISTEMAS DEINFORMAÇÃO47
4747
47SISTEMAS DEINFORMAÇÃO4747
47SISTEMAS DEINFORMAÇÃO47
4747
47SISTEMAS DEINFORMAÇÃO47
47SISTEMAS DEINFORMAÇÃO47
4747
47SISTEMAS DEINFORMAÇÃO47
4747
47SISTEMAS DEINFORMAÇÃO47
47SISTEMAS DEINFORMAÇÃO47
4747
47SISTEMAS DEINFORMAÇÃO47
4747
Implementando mais de uma Interface
interface Voador
class Ave implements Voador
{
public void voa()
{void voa();
void aterrisa();}
public void voa()
{
System.out.println ("Bate as asas");
}
public void aterrisa()
{
System.out.println ("Desliza suavemente até tocar o
chão");
}
SISTEMAS DEINFORMAÇÃO
48
4848
48SISTEMAS DEINFORMAÇÃO48
4848
48SISTEMAS DEINFORMAÇÃO48
48SISTEMAS DEINFORMAÇÃO48
4848
48SISTEMAS DEINFORMAÇÃO48
4848
48SISTEMAS DEINFORMAÇÃO48
48SISTEMAS DEINFORMAÇÃO48
4848
SISTEMAS DEINFORMAÇÃO
48
4848
48 48SISTEMAS DEINFORMAÇÃO
48
4848
48SISTEMAS DEINFORMAÇÃO48
48SISTEMAS DEINFORMAÇÃO48
4848
48SISTEMAS DEINFORMAÇÃO48
4848
48SISTEMAS DEINFORMAÇÃO48
48SISTEMAS DEINFORMAÇÃO48
4848
48SISTEMAS DEINFORMAÇÃO4848
48SISTEMAS DEINFORMAÇÃO48
4848
48SISTEMAS DEINFORMAÇÃO48
48SISTEMAS DEINFORMAÇÃO48
4848
48SISTEMAS DEINFORMAÇÃO48
4848
48SISTEMAS DEINFORMAÇÃO48
48SISTEMAS DEINFORMAÇÃO48
4848
48SISTEMAS DEINFORMAÇÃO48
4848
}
}
Implementando mais de uma Interface
interface TransportadorDePessoas
{
class Onibus implements
TransportadorDePessoas
{{
void entramPessoas();
void saemPessoas();
}
{
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");
SISTEMAS DEINFORMAÇÃO
49
4949
49SISTEMAS DEINFORMAÇÃO49
4949
49SISTEMAS DEINFORMAÇÃO49
49SISTEMAS DEINFORMAÇÃO49
4949
49SISTEMAS DEINFORMAÇÃO49
4949
49SISTEMAS DEINFORMAÇÃO49
49SISTEMAS DEINFORMAÇÃO49
4949
SISTEMAS DEINFORMAÇÃO
49
4949
49 49SISTEMAS DEINFORMAÇÃO
49
4949
49SISTEMAS DEINFORMAÇÃO49
49SISTEMAS DEINFORMAÇÃO49
4949
49SISTEMAS DEINFORMAÇÃO49
4949
49SISTEMAS DEINFORMAÇÃO49
49SISTEMAS DEINFORMAÇÃO49
4949
49SISTEMAS DEINFORMAÇÃO4949
49SISTEMAS DEINFORMAÇÃO49
4949
49SISTEMAS DEINFORMAÇÃO49
49SISTEMAS DEINFORMAÇÃO49
4949
49SISTEMAS DEINFORMAÇÃO49
4949
49SISTEMAS DEINFORMAÇÃO49
49SISTEMAS DEINFORMAÇÃO49
4949
49SISTEMAS DEINFORMAÇÃO49
4949
para as pessoas saírem");
}
}
Implementando mais de uma Interface
interface Voador{
class Aviao implements Voador, TransportadorDePessoas{public void voa()
{System.out.println ("Liga as turbinas e decola.");
}{void voa();
void aterrisa();}
interface TransportadorDePessoas{
void entramPessoas();
void saemPessoas();}
}
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,
SISTEMAS DEINFORMAÇÃO
50
5050
50SISTEMAS DEINFORMAÇÃO50
5050
50SISTEMAS DEINFORMAÇÃO50
50SISTEMAS DEINFORMAÇÃO50
5050
50SISTEMAS DEINFORMAÇÃO50
5050
50SISTEMAS DEINFORMAÇÃO50
50SISTEMAS DEINFORMAÇÃO50
5050
SISTEMAS DEINFORMAÇÃO
50
5050
50 50SISTEMAS DEINFORMAÇÃO
50
5050
50SISTEMAS DEINFORMAÇÃO50
50SISTEMAS DEINFORMAÇÃO50
5050
50SISTEMAS DEINFORMAÇÃO50
5050
50SISTEMAS DEINFORMAÇÃO50
50SISTEMAS DEINFORMAÇÃO50
5050
50SISTEMAS DEINFORMAÇÃO5050
50SISTEMAS DEINFORMAÇÃO50
5050
50SISTEMAS DEINFORMAÇÃO50
50SISTEMAS DEINFORMAÇÃO50
5050
50SISTEMAS DEINFORMAÇÃO50
5050
50SISTEMAS DEINFORMAÇÃO50
50SISTEMAS DEINFORMAÇÃO50
5050
50SISTEMAS DEINFORMAÇÃO50
5050
} 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.");}
}
Implementando mais de uma Interface
class TestaInterface{
public static void executa()
{
> TestaInterface.executa()
Abre a porta para as pessoas entrarem{TransportadorDePessoas t = new Onibus();Voador v = new Ave();Aviao a = new Aviao();
t.entramPessoas();t.saemPessoas();
v.voa();v.aterrisa();a.entramPessoas();a.voa();
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.
SISTEMAS DEINFORMAÇÃO
51
5151
51SISTEMAS DEINFORMAÇÃO51
5151
51SISTEMAS DEINFORMAÇÃO51
51SISTEMAS DEINFORMAÇÃO51
5151
51SISTEMAS DEINFORMAÇÃO51
5151
51SISTEMAS DEINFORMAÇÃO51
51SISTEMAS DEINFORMAÇÃO51
5151
SISTEMAS DEINFORMAÇÃO
51
5151
51 51SISTEMAS DEINFORMAÇÃO
51
5151
51SISTEMAS DEINFORMAÇÃO51
51SISTEMAS DEINFORMAÇÃO51
5151
51SISTEMAS DEINFORMAÇÃO51
5151
51SISTEMAS DEINFORMAÇÃO51
51SISTEMAS DEINFORMAÇÃO51
5151
51SISTEMAS DEINFORMAÇÃO5151
51SISTEMAS DEINFORMAÇÃO51
5151
51SISTEMAS DEINFORMAÇÃO51
51SISTEMAS DEINFORMAÇÃO51
5151
51SISTEMAS DEINFORMAÇÃO51
5151
51SISTEMAS DEINFORMAÇÃO51
51SISTEMAS DEINFORMAÇÃO51
5151
51SISTEMAS DEINFORMAÇÃO51
5151
a.voa();
}}
Liga as turbinas e decola.
Um exemplo pouco mais complexo• Classe Fruta
• atributos: nome, peso, preço
• atributos devem ser carregados no construtor• atributos devem ser carregados no construtor
SISTEMAS DEINFORMAÇÃO
52
5252
52SISTEMAS DEINFORMAÇÃO52
5252
52SISTEMAS DEINFORMAÇÃO52
52SISTEMAS DEINFORMAÇÃO52
5252
52SISTEMAS DEINFORMAÇÃO52
5252
52SISTEMAS DEINFORMAÇÃO52
52SISTEMAS DEINFORMAÇÃO52
5252
SISTEMAS DEINFORMAÇÃO
52
5252
52 52SISTEMAS DEINFORMAÇÃO
52
5252
52SISTEMAS DEINFORMAÇÃO52
52SISTEMAS DEINFORMAÇÃO52
5252
52SISTEMAS DEINFORMAÇÃO52
5252
52SISTEMAS DEINFORMAÇÃO52
52SISTEMAS DEINFORMAÇÃO52
5252
52SISTEMAS DEINFORMAÇÃO5252
52SISTEMAS DEINFORMAÇÃO52
5252
52SISTEMAS DEINFORMAÇÃO52
52SISTEMAS DEINFORMAÇÃO52
5252
52SISTEMAS DEINFORMAÇÃO52
5252
52SISTEMAS DEINFORMAÇÃO52
52SISTEMAS DEINFORMAÇÃO52
5252
52SISTEMAS DEINFORMAÇÃO52
5252
Um exemplo pouco mais complexo• Classe Fruta
• atributos: nome, peso,
class Fruta
{
String nome;
double preco, peso;nome, peso, preço
• atributos devem ser carregados no construtor
Fruta (String n, double p, double pr)
{
nome = n;
peso = p;
preco = pr;
}
void imprime()
SISTEMAS DEINFORMAÇÃO
53
5353
53SISTEMAS DEINFORMAÇÃO53
5353
53SISTEMAS DEINFORMAÇÃO53
53SISTEMAS DEINFORMAÇÃO53
5353
53SISTEMAS DEINFORMAÇÃO53
5353
53SISTEMAS DEINFORMAÇÃO53
53SISTEMAS DEINFORMAÇÃO53
5353
SISTEMAS DEINFORMAÇÃO
53
5353
53 53SISTEMAS DEINFORMAÇÃO
53
5353
53SISTEMAS DEINFORMAÇÃO53
53SISTEMAS DEINFORMAÇÃO53
5353
53SISTEMAS DEINFORMAÇÃO53
5353
53SISTEMAS DEINFORMAÇÃO53
53SISTEMAS DEINFORMAÇÃO53
5353
53SISTEMAS DEINFORMAÇÃO5353
53SISTEMAS DEINFORMAÇÃO53
5353
53SISTEMAS DEINFORMAÇÃO53
53SISTEMAS DEINFORMAÇÃO53
5353
53SISTEMAS DEINFORMAÇÃO53
5353
53SISTEMAS DEINFORMAÇÃO53
53SISTEMAS DEINFORMAÇÃO53
5353
53SISTEMAS DEINFORMAÇÃO53
5353
void imprime()
{
System.out.print("Nome: " + nome);
System.out.print(“ Peso: " + peso);
System.out.println(“ Preço: " + preco);
}
}
Um exemplo pouco mais complexo• Classe Fruta
• queremos criar um vetor de frutas e:
• ordenar por nome• ordenar por nome
• ordenar por peso
• como fazer ???
SISTEMAS DEINFORMAÇÃO
54
5454
54SISTEMAS DEINFORMAÇÃO54
5454
54SISTEMAS DEINFORMAÇÃO54
54SISTEMAS DEINFORMAÇÃO54
5454
54SISTEMAS DEINFORMAÇÃO54
5454
54SISTEMAS DEINFORMAÇÃO54
54SISTEMAS DEINFORMAÇÃO54
5454
SISTEMAS DEINFORMAÇÃO
54
5454
54 54SISTEMAS DEINFORMAÇÃO
54
5454
54SISTEMAS DEINFORMAÇÃO54
54SISTEMAS DEINFORMAÇÃO54
5454
54SISTEMAS DEINFORMAÇÃO54
5454
54SISTEMAS DEINFORMAÇÃO54
54SISTEMAS DEINFORMAÇÃO54
5454
54SISTEMAS DEINFORMAÇÃO5454
54SISTEMAS DEINFORMAÇÃO54
5454
54SISTEMAS DEINFORMAÇÃO54
54SISTEMAS DEINFORMAÇÃO54
5454
54SISTEMAS DEINFORMAÇÃO54
5454
54SISTEMAS DEINFORMAÇÃO54
54SISTEMAS DEINFORMAÇÃO54
5454
54SISTEMAS DEINFORMAÇÃO54
5454
Um exemplo pouco mais complexo• Classe Fruta
• queremos criar um vetor de frutas e:
• ordenar por nome• ordenar por nome
• ordenar por peso
• como fazer ???
• já vimos métodos de ordenação
• podemos escolher um método e implementar
SISTEMAS DEINFORMAÇÃO
55
5555
55SISTEMAS DEINFORMAÇÃO55
5555
55SISTEMAS DEINFORMAÇÃO55
55SISTEMAS DEINFORMAÇÃO55
5555
55SISTEMAS DEINFORMAÇÃO55
5555
55SISTEMAS DEINFORMAÇÃO55
55SISTEMAS DEINFORMAÇÃO55
5555
SISTEMAS DEINFORMAÇÃO
55
5555
55 55SISTEMAS DEINFORMAÇÃO
55
5555
55SISTEMAS DEINFORMAÇÃO55
55SISTEMAS DEINFORMAÇÃO55
5555
55SISTEMAS DEINFORMAÇÃO55
5555
55SISTEMAS DEINFORMAÇÃO55
55SISTEMAS DEINFORMAÇÃO55
5555
55SISTEMAS DEINFORMAÇÃO5555
55SISTEMAS DEINFORMAÇÃO55
5555
55SISTEMAS DEINFORMAÇÃO55
55SISTEMAS DEINFORMAÇÃO55
5555
55SISTEMAS DEINFORMAÇÃO55
5555
55SISTEMAS DEINFORMAÇÃO55
55SISTEMAS DEINFORMAÇÃO55
5555
55SISTEMAS DEINFORMAÇÃO55
5555
• podemos escolher um método e implementar
• mudar somente o critério de comparação (preço ou peso)
Um exemplo pouco mais complexo
class Quitanda
{
// define array e construtor
class Fruta{String nome;
double preco, peso;
Fruta (String n, double p, double pr)
// imprime frutas
// ordena por Preço
// ordena por 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);
SISTEMAS DEINFORMAÇÃO
56
5656
56SISTEMAS DEINFORMAÇÃO56
5656
56SISTEMAS DEINFORMAÇÃO56
56SISTEMAS DEINFORMAÇÃO56
5656
56SISTEMAS DEINFORMAÇÃO56
5656
56SISTEMAS DEINFORMAÇÃO56
56SISTEMAS DEINFORMAÇÃO56
5656
SISTEMAS DEINFORMAÇÃO
56
5656
56 56SISTEMAS DEINFORMAÇÃO
56
5656
56SISTEMAS DEINFORMAÇÃO56
56SISTEMAS DEINFORMAÇÃO56
5656
56SISTEMAS DEINFORMAÇÃO56
5656
56SISTEMAS DEINFORMAÇÃO56
56SISTEMAS DEINFORMAÇÃO56
5656
56SISTEMAS DEINFORMAÇÃO5656
56SISTEMAS DEINFORMAÇÃO56
5656
56SISTEMAS DEINFORMAÇÃO56
56SISTEMAS DEINFORMAÇÃO56
5656
56SISTEMAS DEINFORMAÇÃO56
5656
56SISTEMAS DEINFORMAÇÃO56
56SISTEMAS DEINFORMAÇÃO56
5656
56SISTEMAS DEINFORMAÇÃO56
5656
// ordena por Peso
// método principal que invoca os demais
}
System.out.println(“ Preço: " + preco);}
}
Um exemplo pouco mais complexo
class Quitanda
{
// define array e construtor
????
class Fruta{String nome;
double preco, peso;
Fruta (String n, double p, double pr) ????
// imprime frutas
// ordena por Preço
// ordena por 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);
SISTEMAS DEINFORMAÇÃO
57
5757
57SISTEMAS DEINFORMAÇÃO57
5757
57SISTEMAS DEINFORMAÇÃO57
57SISTEMAS DEINFORMAÇÃO57
5757
57SISTEMAS DEINFORMAÇÃO57
5757
57SISTEMAS DEINFORMAÇÃO57
57SISTEMAS DEINFORMAÇÃO57
5757
SISTEMAS DEINFORMAÇÃO
57
5757
57 57SISTEMAS DEINFORMAÇÃO
57
5757
57SISTEMAS DEINFORMAÇÃO57
57SISTEMAS DEINFORMAÇÃO57
5757
57SISTEMAS DEINFORMAÇÃO57
5757
57SISTEMAS DEINFORMAÇÃO57
57SISTEMAS DEINFORMAÇÃO57
5757
57SISTEMAS DEINFORMAÇÃO5757
57SISTEMAS DEINFORMAÇÃO57
5757
57SISTEMAS DEINFORMAÇÃO57
57SISTEMAS DEINFORMAÇÃO57
5757
57SISTEMAS DEINFORMAÇÃO57
5757
57SISTEMAS DEINFORMAÇÃO57
57SISTEMAS DEINFORMAÇÃO57
5757
57SISTEMAS DEINFORMAÇÃO57
5757
// ordena por Peso
// método principal que invoca os demais
}
System.out.println(“ Preço: " + preco);}
}
Um exemplo pouco mais complexo
class Quitanda
{
// define array e construtor
Fruta [] frutas = new Fruta [5];
class Fruta{String nome;
double preco, peso;
Fruta (String n, double p, double pr) 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);
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);
SISTEMAS DEINFORMAÇÃO
58
5858
58SISTEMAS DEINFORMAÇÃO58
5858
58SISTEMAS DEINFORMAÇÃO58
58SISTEMAS DEINFORMAÇÃO58
5858
58SISTEMAS DEINFORMAÇÃO58
5858
58SISTEMAS DEINFORMAÇÃO58
58SISTEMAS DEINFORMAÇÃO58
5858
SISTEMAS DEINFORMAÇÃO
58
5858
58 58SISTEMAS DEINFORMAÇÃO
58
5858
58SISTEMAS DEINFORMAÇÃO58
58SISTEMAS DEINFORMAÇÃO58
5858
58SISTEMAS DEINFORMAÇÃO58
5858
58SISTEMAS DEINFORMAÇÃO58
58SISTEMAS DEINFORMAÇÃO58
5858
58SISTEMAS DEINFORMAÇÃO5858
58SISTEMAS DEINFORMAÇÃO58
5858
58SISTEMAS DEINFORMAÇÃO58
58SISTEMAS DEINFORMAÇÃO58
5858
58SISTEMAS DEINFORMAÇÃO58
5858
58SISTEMAS DEINFORMAÇÃO58
58SISTEMAS DEINFORMAÇÃO58
5858
58SISTEMAS DEINFORMAÇÃO58
5858
frutas [4] = new Fruta ("Banana", 0.3, 0.2);
}
// imprime frutas
// ordena por Preço
System.out.println(“ Preço: " + preco);}
}
Um exemplo pouco mais complexo
class Quitanda
{
// define array e construtor
...
class Fruta{String nome;
double preco, peso;
Fruta (String n, double p, double pr) ...
// imprime frutas
????
// ordena por Preço
// ordena por 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);
SISTEMAS DEINFORMAÇÃO
59
5959
59SISTEMAS DEINFORMAÇÃO59
5959
59SISTEMAS DEINFORMAÇÃO59
59SISTEMAS DEINFORMAÇÃO59
5959
59SISTEMAS DEINFORMAÇÃO59
5959
59SISTEMAS DEINFORMAÇÃO59
59SISTEMAS DEINFORMAÇÃO59
5959
SISTEMAS DEINFORMAÇÃO
59
5959
59 59SISTEMAS DEINFORMAÇÃO
59
5959
59SISTEMAS DEINFORMAÇÃO59
59SISTEMAS DEINFORMAÇÃO59
5959
59SISTEMAS DEINFORMAÇÃO59
5959
59SISTEMAS DEINFORMAÇÃO59
59SISTEMAS DEINFORMAÇÃO59
5959
59SISTEMAS DEINFORMAÇÃO5959
59SISTEMAS DEINFORMAÇÃO59
5959
59SISTEMAS DEINFORMAÇÃO59
59SISTEMAS DEINFORMAÇÃO59
5959
59SISTEMAS DEINFORMAÇÃO59
5959
59SISTEMAS DEINFORMAÇÃO59
59SISTEMAS DEINFORMAÇÃO59
5959
59SISTEMAS DEINFORMAÇÃO59
5959
// ordena por Peso
// método principal que invoca os demais
}
System.out.println(“ Preço: " + preco);}
}
Um exemplo pouco mais complexo
class Quitanda
{
// define array e construtor
...
class Fruta{String nome;
double preco, peso;
Fruta (String n, double p, double pr) ...
// imprime frutas
public void imprime()
{
for (int i = 0; i < frutas.length; i++)
frutas [i].imprime();
}
}
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);
SISTEMAS DEINFORMAÇÃO
60
6060
60SISTEMAS DEINFORMAÇÃO60
6060
60SISTEMAS DEINFORMAÇÃO60
60SISTEMAS DEINFORMAÇÃO60
6060
60SISTEMAS DEINFORMAÇÃO60
6060
60SISTEMAS DEINFORMAÇÃO60
60SISTEMAS DEINFORMAÇÃO60
6060
SISTEMAS DEINFORMAÇÃO
60
6060
60 60SISTEMAS DEINFORMAÇÃO
60
6060
60SISTEMAS DEINFORMAÇÃO60
60SISTEMAS DEINFORMAÇÃO60
6060
60SISTEMAS DEINFORMAÇÃO60
6060
60SISTEMAS DEINFORMAÇÃO60
60SISTEMAS DEINFORMAÇÃO60
6060
60SISTEMAS DEINFORMAÇÃO6060
60SISTEMAS DEINFORMAÇÃO60
6060
60SISTEMAS DEINFORMAÇÃO60
60SISTEMAS DEINFORMAÇÃO60
6060
60SISTEMAS DEINFORMAÇÃO60
6060
60SISTEMAS DEINFORMAÇÃO60
60SISTEMAS DEINFORMAÇÃO60
6060
60SISTEMAS DEINFORMAÇÃO60
6060
}System.out.println(“ Preço: " + preco);
}}
Um exemplo pouco mais complexo
class Quitanda
{
// define array e construtor
// imprime frutas
class Fruta{String nome;
double preco, peso;
Fruta (String n, double p, double pr) // imprime frutas
// ordena por Preço
????
// ordena por Peso
// método principal que invoca os demais
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);
SISTEMAS DEINFORMAÇÃO
61
6161
61SISTEMAS DEINFORMAÇÃO61
6161
61SISTEMAS DEINFORMAÇÃO61
61SISTEMAS DEINFORMAÇÃO61
6161
61SISTEMAS DEINFORMAÇÃO61
6161
61SISTEMAS DEINFORMAÇÃO61
61SISTEMAS DEINFORMAÇÃO61
6161
SISTEMAS DEINFORMAÇÃO
61
6161
61 61SISTEMAS DEINFORMAÇÃO
61
6161
61SISTEMAS DEINFORMAÇÃO61
61SISTEMAS DEINFORMAÇÃO61
6161
61SISTEMAS DEINFORMAÇÃO61
6161
61SI