Upload
dangmien
View
215
Download
0
Embed Size (px)
Citation preview
Professoras:
Interfaces
SISTEMAS DEINFORMAO
1
11
1SISTEMAS DEINFORMAO1
11
1SISTEMAS DEINFORMAO1
1SISTEMAS DEINFORMAO1
11
1SISTEMAS DEINFORMAO1
11
1SISTEMAS DEINFORMAO1
1SISTEMAS DEINFORMAO1
11
SISTEMAS DEINFORMAO
1
11
1 1SISTEMAS DEINFORMAO
1
11
1SISTEMAS DEINFORMAO1
1SISTEMAS DEINFORMAO1
11
1SISTEMAS DEINFORMAO1
11
1SISTEMAS DEINFORMAO1
1SISTEMAS DEINFORMAO1
11
1SISTEMAS DEINFORMAO11
1SISTEMAS DEINFORMAO1
11
1SISTEMAS DEINFORMAO1
1SISTEMAS DEINFORMAO1
11
1SISTEMAS DEINFORMAO1
11
1SISTEMAS DEINFORMAO1
1SISTEMAS DEINFORMAO1
11
1SISTEMAS DEINFORMAO1
11
Professoras:
Ariane Machado Lima
Ftima L. S. Nunes
Interface
O que significa?
SISTEMAS DEINFORMAO
2
22
2SISTEMAS DEINFORMAO2
22
2SISTEMAS DEINFORMAO2
2SISTEMAS DEINFORMAO2
22
2SISTEMAS DEINFORMAO2
22
2SISTEMAS DEINFORMAO2
2SISTEMAS DEINFORMAO2
22
SISTEMAS DEINFORMAO
2
22
2 2SISTEMAS DEINFORMAO
2
22
2SISTEMAS DEINFORMAO2
2SISTEMAS DEINFORMAO2
22
2SISTEMAS DEINFORMAO2
22
2SISTEMAS DEINFORMAO2
2SISTEMAS DEINFORMAO2
22
2SISTEMAS DEINFORMAO22
2SISTEMAS DEINFORMAO2
22
2SISTEMAS DEINFORMAO2
2SISTEMAS DEINFORMAO2
22
2SISTEMAS DEINFORMAO2
22
2SISTEMAS DEINFORMAO2
2SISTEMAS DEINFORMAO2
22
2SISTEMAS DEINFORMAO2
22
Interface
Definio:
s.f. Limite comum a dois corpos, sistemas, fases ou s.f. Limite comum a dois corpos, sistemas, fases ou espaos, que permite sua ao mtua ou intercomunicao ou trocas entre eles: interface produo-distribuio; interface gs-lquido. / Ponto em que interagem coisas diversas. / Informtica
Meio fsico ou lgico atravs do qual um ou mais dispositivos ou sistemas incompatveis
SISTEMAS DEINFORMAO
3
33
3SISTEMAS DEINFORMAO3
33
3SISTEMAS DEINFORMAO3
3SISTEMAS DEINFORMAO3
33
3SISTEMAS DEINFORMAO3
33
3SISTEMAS DEINFORMAO3
3SISTEMAS DEINFORMAO3
33
SISTEMAS DEINFORMAO
3
33
3 3SISTEMAS DEINFORMAO
3
33
3SISTEMAS DEINFORMAO3
3SISTEMAS DEINFORMAO3
33
3SISTEMAS DEINFORMAO3
33
3SISTEMAS DEINFORMAO3
3SISTEMAS DEINFORMAO3
33
3SISTEMAS DEINFORMAO33
3SISTEMAS DEINFORMAO3
33
3SISTEMAS DEINFORMAO3
3SISTEMAS DEINFORMAO3
33
3SISTEMAS DEINFORMAO3
33
3SISTEMAS DEINFORMAO3
3SISTEMAS DEINFORMAO3
33
3SISTEMAS DEINFORMAO3
33
mais dispositivos ou sistemas incompatveis conseguem comunicar-se entre si.
Interface
SISTEMAS DEINFORMAO
4
44
4SISTEMAS DEINFORMAO4
44
4SISTEMAS DEINFORMAO4
4SISTEMAS DEINFORMAO4
44
4SISTEMAS DEINFORMAO4
44
4SISTEMAS DEINFORMAO4
4SISTEMAS DEINFORMAO4
44
SISTEMAS DEINFORMAO
4
44
4 4SISTEMAS DEINFORMAO
4
44
4SISTEMAS DEINFORMAO4
4SISTEMAS DEINFORMAO4
44
4SISTEMAS DEINFORMAO4
44
4SISTEMAS DEINFORMAO4
4SISTEMAS DEINFORMAO4
44
4SISTEMAS DEINFORMAO44
4SISTEMAS DEINFORMAO4
44
4SISTEMAS DEINFORMAO4
4SISTEMAS DEINFORMAO4
44
4SISTEMAS DEINFORMAO4
44
4SISTEMAS DEINFORMAO4
4SISTEMAS DEINFORMAO4
44
4SISTEMAS DEINFORMAO4
44
Interface
O que API (Application (Application Programming Interface) ?
.... pensem na API do Java....
SISTEMAS DEINFORMAO
5
55
5SISTEMAS DEINFORMAO5
55
5SISTEMAS DEINFORMAO5
5SISTEMAS DEINFORMAO5
55
5SISTEMAS DEINFORMAO5
55
5SISTEMAS DEINFORMAO5
5SISTEMAS DEINFORMAO5
55
SISTEMAS DEINFORMAO
5
55
5 5SISTEMAS DEINFORMAO
5
55
5SISTEMAS DEINFORMAO5
5SISTEMAS DEINFORMAO5
55
5SISTEMAS DEINFORMAO5
55
5SISTEMAS DEINFORMAO5
5SISTEMAS DEINFORMAO5
55
5SISTEMAS DEINFORMAO55
5SISTEMAS DEINFORMAO5
55
5SISTEMAS DEINFORMAO5
5SISTEMAS DEINFORMAO5
55
5SISTEMAS DEINFORMAO5
55
5SISTEMAS DEINFORMAO5
5SISTEMAS DEINFORMAO5
55
5SISTEMAS DEINFORMAO5
55
Interface
Encapsulamento ???
SISTEMAS DEINFORMAO
6
66
6SISTEMAS DEINFORMAO6
66
6SISTEMAS DEINFORMAO6
6SISTEMAS DEINFORMAO6
66
6SISTEMAS DEINFORMAO6
66
6SISTEMAS DEINFORMAO6
6SISTEMAS DEINFORMAO6
66
SISTEMAS DEINFORMAO
6
66
6 6SISTEMAS DEINFORMAO
6
66
6SISTEMAS DEINFORMAO6
6SISTEMAS DEINFORMAO6
66
6SISTEMAS DEINFORMAO6
66
6SISTEMAS DEINFORMAO6
6SISTEMAS DEINFORMAO6
66
6SISTEMAS DEINFORMAO66
6SISTEMAS DEINFORMAO6
66
6SISTEMAS DEINFORMAO6
6SISTEMAS DEINFORMAO6
66
6SISTEMAS DEINFORMAO6
66
6SISTEMAS DEINFORMAO6
6SISTEMAS DEINFORMAO6
66
6SISTEMAS DEINFORMAO6
66
Interface Encapsulamento:
Conceito da POO que permite esconder do usurio os atributos e a implementao dos usurio os atributos e a implementao dos mtodos da classe.
Conhecendo apenas a interface de uma classe, podemos usar objetos da mesma sem conhecer detalhes de implementao.
Interface = mtodos disponveis + suas
SISTEMAS DEINFORMAO
7
77
7SISTEMAS DEINFORMAO7
77
7SISTEMAS DEINFORMAO7
7SISTEMAS DEINFORMAO7
77
7SISTEMAS DEINFORMAO7
77
7SISTEMAS DEINFORMAO7
7SISTEMAS DEINFORMAO7
77
SISTEMAS DEINFORMAO
7
77
7 7SISTEMAS DEINFORMAO
7
77
7SISTEMAS DEINFORMAO7
7SISTEMAS DEINFORMAO7
77
7SISTEMAS DEINFORMAO7
77
7SISTEMAS DEINFORMAO7
7SISTEMAS DEINFORMAO7
77
7SISTEMAS DEINFORMAO77
7SISTEMAS DEINFORMAO7
77
7SISTEMAS DEINFORMAO7
7SISTEMAS DEINFORMAO7
77
7SISTEMAS DEINFORMAO7
77
7SISTEMAS DEINFORMAO7
7SISTEMAS DEINFORMAO7
77
7SISTEMAS DEINFORMAO7
77
Interface = mtodos disponveis + suas respectivas assinaturas.
Interface Interface:
til tambm quando queremos ter uma classe, mas no implement-la. mas no implement-la.
Muito interessante na fase de especificao de um Sistema.
Ex: eu poderia definir uma interface de Pessoa (isto , mtodos que uma Pessoa deveria saber executar) sem ter que implement-la
SISTEMAS DEINFORMAO
8
88
8SISTEMAS DEINFORMAO8
88
8SISTEMAS DEINFORMAO8
8SISTEMAS DEINFORMAO8
88
8SISTEMAS DEINFORMAO8
88
8SISTEMAS DEINFORMAO8
8SISTEMAS DEINFORMAO8
88
SISTEMAS DEINFORMAO
8
88
8 8SISTEMAS DEINFORMAO
8
88
8SISTEMAS DEINFORMAO8
8SISTEMAS DEINFORMAO8
88
8SISTEMAS DEINFORMAO8
88
8SISTEMAS DEINFORMAO8
8SISTEMAS DEINFORMAO8
88
8SISTEMAS DEINFORMAO88
8SISTEMAS DEINFORMAO8
88
8SISTEMAS DEINFORMAO8
8SISTEMAS DEINFORMAO8
88
8SISTEMAS DEINFORMAO8
88
8SISTEMAS DEINFORMAO8
8SISTEMAS DEINFORMAO8
88
8SISTEMAS DEINFORMAO8
88
executar) sem ter que implement-la
Implementao 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, quemtodos 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 no encontrada");
mtodos Pessoa deveria saber executar?
SISTEMAS DEINFORMAO
9
99
9SISTEMAS DEINFORMAO9
99
9SISTEMAS DEINFORMAO9
9SISTEMAS DEINFORMAO9
99
9SISTEMAS DEINFORMAO9
99
9SISTEMAS DEINFORMAO9
9SISTEMAS DEINFORMAO9
99
SISTEMAS DEINFORMAO
9
99
9 9SISTEMAS DEINFORMAO
9
99
9SISTEMAS DEINFORMAO9
9SISTEMAS DEINFORMAO9
99
9SISTEMAS DEINFORMAO9
99
9SISTEMAS DEINFORMAO9
9SISTEMAS DEINFORMAO9
99
9SISTEMAS DEINFORMAO99
System.out.println("Pessoa no 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, quemtodos 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 no encontrada");
mtodos Pessoa deveria saber executar?
SISTEMAS DEINFORMAO
10
1010
10SISTEMAS DEINFORMAO10
1010
10SISTEMAS DEINFORMAO10
10SISTEMAS DEINFORMAO10
1010
10SISTEMAS DEINFORMAO10
1010
10SISTEMAS DEINFORMAO10
10SISTEMAS DEINFORMAO10
1010
SISTEMAS DEINFORMAO
10
1010
10 10SISTEMAS DEINFORMAO
10
1010
10SISTEMAS DEINFORMAO10
10SISTEMAS DEINFORMAO10
1010
10SISTEMAS DEINFORMAO10
1010
10SISTEMAS DEINFORMAO10
10SISTEMAS DEINFORMAO10
1010
10SISTEMAS DEINFORMAO1010
System.out.println("Pessoa no encontrada");
return null;
}void imprimeDados(){
for (int i=0; i
Interface Um exemplo: criao de um zoolgico virtual
Vrios tipos de animais
Mensagens para cada animal:
nasa()
passeiePelaTela()
durma()
SISTEMAS DEINFORMAO
11
1111
11SISTEMAS DEINFORMAO11
1111
11SISTEMAS DEINFORMAO11
11SISTEMAS DEINFORMAO11
1111
11SISTEMAS DEINFORMAO11
1111
11SISTEMAS DEINFORMAO11
11SISTEMAS DEINFORMAO11
1111
SISTEMAS DEINFORMAO
11
1111
11 11SISTEMAS DEINFORMAO
11
1111
11SISTEMAS DEINFORMAO11
11SISTEMAS DEINFORMAO11
1111
11SISTEMAS DEINFORMAO11
1111
11SISTEMAS DEINFORMAO11
11SISTEMAS DEINFORMAO11
1111
11SISTEMAS DEINFORMAO1111
11SISTEMAS DEINFORMAO11
1111
11SISTEMAS DEINFORMAO11
11SISTEMAS DEINFORMAO11
1111
11SISTEMAS DEINFORMAO11
1111
11SISTEMAS DEINFORMAO11
11SISTEMAS DEINFORMAO11
1111
11SISTEMAS DEINFORMAO11
1111
Interface Um exemplo: criao de um zoolgico virtual
Mas voc no conhece os animais !!!
Como um morcego nasce?
Como uma zebra dorme?
Como um pato anda?
SISTEMAS DEINFORMAO
12
1212
12SISTEMAS DEINFORMAO12
1212
12SISTEMAS DEINFORMAO12
12SISTEMAS DEINFORMAO12
1212
12SISTEMAS DEINFORMAO12
1212
12SISTEMAS DEINFORMAO12
12SISTEMAS DEINFORMAO12
1212
SISTEMAS DEINFORMAO
12
1212
12 12SISTEMAS DEINFORMAO
12
1212
12SISTEMAS DEINFORMAO12
12SISTEMAS DEINFORMAO12
1212
12SISTEMAS DEINFORMAO12
1212
12SISTEMAS DEINFORMAO12
12SISTEMAS DEINFORMAO12
1212
12SISTEMAS DEINFORMAO1212
12SISTEMAS DEINFORMAO12
1212
12SISTEMAS DEINFORMAO12
12SISTEMAS DEINFORMAO12
1212
12SISTEMAS DEINFORMAO12
1212
12SISTEMAS DEINFORMAO12
12SISTEMAS DEINFORMAO12
1212
12SISTEMAS DEINFORMAO12
1212
Interface Um exemplo: criao de um zoolgico virtual
Como fazer ???
SISTEMAS DEINFORMAO
13
1313
13SISTEMAS DEINFORMAO13
1313
13SISTEMAS DEINFORMAO13
13SISTEMAS DEINFORMAO13
1313
13SISTEMAS DEINFORMAO13
1313
13SISTEMAS DEINFORMAO13
13SISTEMAS DEINFORMAO13
1313
SISTEMAS DEINFORMAO
13
1313
13 13SISTEMAS DEINFORMAO
13
1313
13SISTEMAS DEINFORMAO13
13SISTEMAS DEINFORMAO13
1313
13SISTEMAS DEINFORMAO13
1313
13SISTEMAS DEINFORMAO13
13SISTEMAS DEINFORMAO13
1313
13SISTEMAS DEINFORMAO1313
13SISTEMAS DEINFORMAO13
1313
13SISTEMAS DEINFORMAO13
13SISTEMAS DEINFORMAO13
1313
13SISTEMAS DEINFORMAO13
1313
13SISTEMAS DEINFORMAO13
13SISTEMAS DEINFORMAO13
1313
13SISTEMAS DEINFORMAO13
1313
Interface Um exemplo: criao de um zoolgico virtual
Como fazer ???
Pedir para algum que conhece os animais implementar as classes necessrias. Exemplo: Zebra, Morcego e Pato
S que eu preciso ter um padro para todos os animais...
SISTEMAS DEINFORMAO
14
1414
14SISTEMAS DEINFORMAO14
1414
14SISTEMAS DEINFORMAO14
14SISTEMAS DEINFORMAO14
1414
14SISTEMAS DEINFORMAO14
1414
14SISTEMAS DEINFORMAO14
14SISTEMAS DEINFORMAO14
1414
SISTEMAS DEINFORMAO
14
1414
14 14SISTEMAS DEINFORMAO
14
1414
14SISTEMAS DEINFORMAO14
14SISTEMAS DEINFORMAO14
1414
14SISTEMAS DEINFORMAO14
1414
14SISTEMAS DEINFORMAO14
14SISTEMAS DEINFORMAO14
1414
14SISTEMAS DEINFORMAO1414
14SISTEMAS DEINFORMAO14
1414
14SISTEMAS DEINFORMAO14
14SISTEMAS DEINFORMAO14
1414
14SISTEMAS DEINFORMAO14
1414
14SISTEMAS DEINFORMAO14
14SISTEMAS DEINFORMAO14
1414
14SISTEMAS DEINFORMAO14
1414
Ento...
Interface Um exemplo: criao de um zoolgico virtual
interface Animal
{{
void nasa();
void passeiePelaTela();
void durma();
double peso();
SISTEMAS DEINFORMAO
15
1515
15SISTEMAS DEINFORMAO15
1515
15SISTEMAS DEINFORMAO15
15SISTEMAS DEINFORMAO15
1515
15SISTEMAS DEINFORMAO15
1515
15SISTEMAS DEINFORMAO15
15SISTEMAS DEINFORMAO15
1515
SISTEMAS DEINFORMAO
15
1515
15 15SISTEMAS DEINFORMAO
15
1515
15SISTEMAS DEINFORMAO15
15SISTEMAS DEINFORMAO15
1515
15SISTEMAS DEINFORMAO15
1515
15SISTEMAS DEINFORMAO15
15SISTEMAS DEINFORMAO15
1515
15SISTEMAS DEINFORMAO1515
15SISTEMAS DEINFORMAO15
1515
15SISTEMAS DEINFORMAO15
15SISTEMAS DEINFORMAO15
1515
15SISTEMAS DEINFORMAO15
1515
15SISTEMAS DEINFORMAO15
15SISTEMAS DEINFORMAO15
1515
15SISTEMAS DEINFORMAO15
1515
}
Interface Um exemplo: criao de um zoolgico virtual
interface Animal
{{
void nasa();
void passeiePelaTela();
void durma();
double peso();
SISTEMAS DEINFORMAO
16
1616
16SISTEMAS DEINFORMAO16
1616
16SISTEMAS DEINFORMAO16
16SISTEMAS DEINFORMAO16
1616
16SISTEMAS DEINFORMAO16
1616
16SISTEMAS DEINFORMAO16
16SISTEMAS DEINFORMAO16
1616
SISTEMAS DEINFORMAO
16
1616
16 16SISTEMAS DEINFORMAO
16
1616
16SISTEMAS DEINFORMAO16
16SISTEMAS DEINFORMAO16
1616
16SISTEMAS DEINFORMAO16
1616
16SISTEMAS DEINFORMAO16
16SISTEMAS DEINFORMAO16
1616
16SISTEMAS DEINFORMAO1616
16SISTEMAS DEINFORMAO16
1616
16SISTEMAS DEINFORMAO16
16SISTEMAS DEINFORMAO16
1616
16SISTEMAS DEINFORMAO16
1616
16SISTEMAS DEINFORMAO16
16SISTEMAS DEINFORMAO16
1616
16SISTEMAS DEINFORMAO16
1616
}
Interface Um exemplo: criao de um zoolgico virtual
interface Animal
{{
void nasa();
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 DEINFORMAO
17
1717
17SISTEMAS DEINFORMAO17
1717
17SISTEMAS DEINFORMAO17
17SISTEMAS DEINFORMAO17
1717
17SISTEMAS DEINFORMAO17
1717
17SISTEMAS DEINFORMAO17
17SISTEMAS DEINFORMAO17
1717
SISTEMAS DEINFORMAO
17
1717
17 17SISTEMAS DEINFORMAO
17
1717
17SISTEMAS DEINFORMAO17
17SISTEMAS DEINFORMAO17
1717
17SISTEMAS DEINFORMAO17
1717
17SISTEMAS DEINFORMAO17
17SISTEMAS DEINFORMAO17
1717
17SISTEMAS DEINFORMAO1717
17SISTEMAS DEINFORMAO17
1717
17SISTEMAS DEINFORMAO17
17SISTEMAS DEINFORMAO17
1717
17SISTEMAS DEINFORMAO17
1717
17SISTEMAS DEINFORMAO17
17SISTEMAS DEINFORMAO17
1717
17SISTEMAS DEINFORMAO17
1717
}
Interfaceinterface Animal
{
public class Morcego implements Animal{
public void nasa() {
System.out.println("Nasceu um morceguinho...");void nasa();
void passeiePelaTela();
void durma();
double peso();
}
System.out.println("Nasceu um morceguinho...");}
public void passeiePelaTela() {
System.out.println("Voo rpido e rasante !!!");}
public void durma() {
System.out.println("Dorme de cabea para baixo.");}
SISTEMAS DEINFORMAO
18
1818
18SISTEMAS DEINFORMAO18
1818
18SISTEMAS DEINFORMAO18
18SISTEMAS DEINFORMAO18
1818
18SISTEMAS DEINFORMAO18
1818
18SISTEMAS DEINFORMAO18
18SISTEMAS DEINFORMAO18
1818
SISTEMAS DEINFORMAO
18
1818
18 18SISTEMAS DEINFORMAO
18
1818
18SISTEMAS DEINFORMAO18
18SISTEMAS DEINFORMAO18
1818
18SISTEMAS DEINFORMAO18
1818
18SISTEMAS DEINFORMAO18
18SISTEMAS DEINFORMAO18
1818
18SISTEMAS DEINFORMAO1818
18SISTEMAS DEINFORMAO18
1818
18SISTEMAS DEINFORMAO18
18SISTEMAS DEINFORMAO18
1818
18SISTEMAS DEINFORMAO18
1818
18SISTEMAS DEINFORMAO18
18SISTEMAS DEINFORMAO18
1818
18SISTEMAS DEINFORMAO18
1818
} }
public double peso() {
System.out.println("Este um morcego gordo!");return (4.5);
}
}
Interfacepublic class Morcego implements Animal{
public void nasa() {
System.out.println(Nasceu um morceguinho...);
interface Animal
{System.out.println(Nasceu um morceguinho...);
}
public passeioPelaTela() {
System.out.println(Voo rpido e rasante !!!);}
public durma() {
System.out.println(Dorme de cabea para baixo.);}
implements obriga o programador a escrever o cdigo de todos os mtodos, considerando suas assinaturas.Todos os mtodos da interface devem ser pblicos. Por qu?
void nasa();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAO
19
1919
19SISTEMAS DEINFORMAO19
1919
19SISTEMAS DEINFORMAO19
19SISTEMAS DEINFORMAO19
1919
19SISTEMAS DEINFORMAO19
1919
19SISTEMAS DEINFORMAO19
19SISTEMAS DEINFORMAO19
1919
SISTEMAS DEINFORMAO
19
1919
19 19SISTEMAS DEINFORMAO
19
1919
19SISTEMAS DEINFORMAO19
19SISTEMAS DEINFORMAO19
1919
19SISTEMAS DEINFORMAO19
1919
19SISTEMAS DEINFORMAO19
19SISTEMAS DEINFORMAO19
1919
19SISTEMAS DEINFORMAO1919
19SISTEMAS DEINFORMAO19
1919
19SISTEMAS DEINFORMAO19
19SISTEMAS DEINFORMAO19
1919
19SISTEMAS DEINFORMAO19
1919
19SISTEMAS DEINFORMAO19
19SISTEMAS DEINFORMAO19
1919
19SISTEMAS DEINFORMAO19
1919
}
double peso() {
System.out.println(Este um morcego gordo!);return (4.5);
}
}
devem ser pblicos. Por qu?}
Interfacepublic class Morcego implements Animal{
public void nasa() {
System.out.println(Nasceu um morceguinho...);
interface Animal
{System.out.println(Nasceu um morceguinho...);
}
public passeioPelaTela() {
System.out.println(Voo rpido e rasante !!!);}
public durma() {
System.out.println(Dorme de cabea para baixo.);}
implements obriga o programador a escrever o cdigo de todos os mtodos, considerando suas assinaturas.Todos os mtodos da interface devem ser pblicos.
void nasa();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAO
20
2020
20SISTEMAS DEINFORMAO20
2020
20SISTEMAS DEINFORMAO20
20SISTEMAS DEINFORMAO20
2020
20SISTEMAS DEINFORMAO20
2020
20SISTEMAS DEINFORMAO20
20SISTEMAS DEINFORMAO20
2020
SISTEMAS DEINFORMAO
20
2020
20 20SISTEMAS DEINFORMAO
20
2020
20SISTEMAS DEINFORMAO20
20SISTEMAS DEINFORMAO20
2020
20SISTEMAS DEINFORMAO20
2020
20SISTEMAS DEINFORMAO20
20SISTEMAS DEINFORMAO20
2020
20SISTEMAS DEINFORMAO2020
20SISTEMAS DEINFORMAO20
2020
20SISTEMAS DEINFORMAO20
20SISTEMAS DEINFORMAO20
2020
20SISTEMAS DEINFORMAO20
2020
20SISTEMAS DEINFORMAO20
20SISTEMAS DEINFORMAO20
2020
20SISTEMAS DEINFORMAO20
2020
}
double peso() {
System.out.println(Este um morcego gordo!);return (4.5);
}
}
devem ser pblicos.}
No 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 nasa() {
System.out.println("Quebra o ovo.");}
public void passeiePelaTela() {
System.out.println("Anda em duas patas. Qu Qu Qu.");}
void nasa();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAO
21
2121
21SISTEMAS DEINFORMAO21
2121
21SISTEMAS DEINFORMAO21
21SISTEMAS DEINFORMAO21
2121
21SISTEMAS DEINFORMAO21
2121
21SISTEMAS DEINFORMAO21
21SISTEMAS DEINFORMAO21
2121
SISTEMAS DEINFORMAO
21
2121
21 21SISTEMAS DEINFORMAO
21
2121
21SISTEMAS DEINFORMAO21
21SISTEMAS DEINFORMAO21
2121
21SISTEMAS DEINFORMAO21
2121
21SISTEMAS DEINFORMAO21
21SISTEMAS DEINFORMAO21
2121
21SISTEMAS DEINFORMAO2121
21SISTEMAS DEINFORMAO21
2121
21SISTEMAS DEINFORMAO21
21SISTEMAS DEINFORMAO21
2121
21SISTEMAS DEINFORMAO21
2121
21SISTEMAS DEINFORMAO21
21SISTEMAS DEINFORMAO21
2121
21SISTEMAS DEINFORMAO21
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 nasa() {
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 nasa();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAO
22
2222
22SISTEMAS DEINFORMAO22
2222
22SISTEMAS DEINFORMAO22
22SISTEMAS DEINFORMAO22
2222
22SISTEMAS DEINFORMAO22
2222
22SISTEMAS DEINFORMAO22
22SISTEMAS DEINFORMAO22
2222
SISTEMAS DEINFORMAO
22
2222
22 22SISTEMAS DEINFORMAO
22
2222
22SISTEMAS DEINFORMAO22
22SISTEMAS DEINFORMAO22
2222
22SISTEMAS DEINFORMAO22
2222
22SISTEMAS DEINFORMAO22
22SISTEMAS DEINFORMAO22
2222
22SISTEMAS DEINFORMAO2222
22SISTEMAS DEINFORMAO22
2222
22SISTEMAS DEINFORMAO22
22SISTEMAS DEINFORMAO22
2222
22SISTEMAS DEINFORMAO22
2222
22SISTEMAS DEINFORMAO22
22SISTEMAS DEINFORMAO22
2222
22SISTEMAS DEINFORMAO22
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 nasa() {
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 mtodos extras (especficos
da classe)
void nasa();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAO
23
2323
23SISTEMAS DEINFORMAO23
2323
23SISTEMAS DEINFORMAO23
23SISTEMAS DEINFORMAO23
2323
23SISTEMAS DEINFORMAO23
2323
23SISTEMAS DEINFORMAO23
23SISTEMAS DEINFORMAO23
2323
SISTEMAS DEINFORMAO
23
2323
23 23SISTEMAS DEINFORMAO
23
2323
23SISTEMAS DEINFORMAO23
23SISTEMAS DEINFORMAO23
2323
23SISTEMAS DEINFORMAO23
2323
23SISTEMAS DEINFORMAO23
23SISTEMAS DEINFORMAO23
2323
23SISTEMAS DEINFORMAO2323
23SISTEMAS DEINFORMAO23
2323
23SISTEMAS DEINFORMAO23
23SISTEMAS DEINFORMAO23
2323
23SISTEMAS DEINFORMAO23
2323
23SISTEMAS DEINFORMAO23
23SISTEMAS DEINFORMAO23
2323
23SISTEMAS DEINFORMAO23
2323
public double peso() {
return peso;}
public void exibeListras() {
System.out.println("Minha zebra tem " + listras + "listras.");}
}
}
Interface Observao sobre arquivos X classes em Java:
normalmente cada classe vai em um arquivo .java de mesmo nome da classe, mas isto no obrigatrio;nome da classe, mas isto no obrigatrio;
cada arquivo .java pode ter no mximo uma classe pblica (do tipo public);
caso exista uma classe pblica, 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 DEINFORMAO
24
2424
24SISTEMAS DEINFORMAO24
2424
24SISTEMAS DEINFORMAO24
24SISTEMAS DEINFORMAO24
2424
24SISTEMAS DEINFORMAO24
2424
24SISTEMAS DEINFORMAO24
24SISTEMAS DEINFORMAO24
2424
SISTEMAS DEINFORMAO
24
2424
24 24SISTEMAS DEINFORMAO
24
2424
24SISTEMAS DEINFORMAO24
24SISTEMAS DEINFORMAO24
2424
24SISTEMAS DEINFORMAO24
2424
24SISTEMAS DEINFORMAO24
24SISTEMAS DEINFORMAO24
2424
24SISTEMAS DEINFORMAO2424
24SISTEMAS DEINFORMAO24
2424
24SISTEMAS DEINFORMAO24
24SISTEMAS DEINFORMAO24
2424
24SISTEMAS DEINFORMAO24
2424
24SISTEMAS DEINFORMAO24
24SISTEMAS DEINFORMAO24
2424
24SISTEMAS DEINFORMAO24
2424
devem obrigatoriamente estar em arquivos separados;
Interface Observao sobre interfaces:
no podemos criar objetos a partir de uma interface;
no exemplo, no podemos criar objetos diretamente da classe no exemplo, no 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, alm de ser um objeto da classe respectiva, tambm um objeto do tipo Animal (INTERFACE TAMBM DEFINE UM TIPO);
SISTEMAS DEINFORMAO
25
2525
25SISTEMAS DEINFORMAO25
2525
25SISTEMAS DEINFORMAO25
25SISTEMAS DEINFORMAO25
2525
25SISTEMAS DEINFORMAO25
2525
25SISTEMAS DEINFORMAO25
25SISTEMAS DEINFORMAO25
2525
SISTEMAS DEINFORMAO
25
2525
25 25SISTEMAS DEINFORMAO
25
2525
25SISTEMAS DEINFORMAO25
25SISTEMAS DEINFORMAO25
2525
25SISTEMAS DEINFORMAO25
2525
25SISTEMAS DEINFORMAO25
25SISTEMAS DEINFORMAO25
2525
25SISTEMAS DEINFORMAO2525
25SISTEMAS DEINFORMAO25
2525
25SISTEMAS DEINFORMAO25
25SISTEMAS DEINFORMAO25
2525
25SISTEMAS DEINFORMAO25
2525
25SISTEMAS DEINFORMAO25
25SISTEMAS DEINFORMAO25
2525
25SISTEMAS DEINFORMAO25
2525
TAMBM DEFINE UM TIPO);
Vamos usar as classes criadas
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();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 DEINFORMAO
26
2626
26SISTEMAS DEINFORMAO26
2626
26SISTEMAS DEINFORMAO26
26SISTEMAS DEINFORMAO26
2626
26SISTEMAS DEINFORMAO26
2626
26SISTEMAS DEINFORMAO26
26SISTEMAS DEINFORMAO26
2626
SISTEMAS DEINFORMAO
26
2626
26 26SISTEMAS DEINFORMAO
26
2626
26SISTEMAS DEINFORMAO26
26SISTEMAS DEINFORMAO26
2626
26SISTEMAS DEINFORMAO26
2626
26SISTEMAS DEINFORMAO26
26SISTEMAS DEINFORMAO26
2626
26SISTEMAS DEINFORMAO2626
26SISTEMAS DEINFORMAO26
2626
26SISTEMAS DEINFORMAO26
26SISTEMAS DEINFORMAO26
2626
26SISTEMAS DEINFORMAO26
2626
26SISTEMAS DEINFORMAO26
26SISTEMAS DEINFORMAO26
2626
26SISTEMAS DEINFORMAO26
2626
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();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 mtodos sem ter objetos instanciados
SISTEMAS DEINFORMAO
27
2727
27SISTEMAS DEINFORMAO27
2727
27SISTEMAS DEINFORMAO27
27SISTEMAS DEINFORMAO27
2727
27SISTEMAS DEINFORMAO27
2727
27SISTEMAS DEINFORMAO27
27SISTEMAS DEINFORMAO27
2727
SISTEMAS DEINFORMAO
27
2727
27 27SISTEMAS DEINFORMAO
27
2727
27SISTEMAS DEINFORMAO27
27SISTEMAS DEINFORMAO27
2727
27SISTEMAS DEINFORMAO27
2727
27SISTEMAS DEINFORMAO27
27SISTEMAS DEINFORMAO27
2727
27SISTEMAS DEINFORMAO2727
27SISTEMAS DEINFORMAO27
2727
27SISTEMAS DEINFORMAO27
27SISTEMAS DEINFORMAO27
2727
27SISTEMAS DEINFORMAO27
2727
27SISTEMAS DEINFORMAO27
27SISTEMAS DEINFORMAO27
2727
27SISTEMAS DEINFORMAO27
2727
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();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 rpido e rasante !!!Dorme de cabea para baixo.
SISTEMAS DEINFORMAO
28
2828
28SISTEMAS DEINFORMAO28
2828
28SISTEMAS DEINFORMAO28
28SISTEMAS DEINFORMAO28
2828
28SISTEMAS DEINFORMAO28
2828
28SISTEMAS DEINFORMAO28
28SISTEMAS DEINFORMAO28
2828
SISTEMAS DEINFORMAO
28
2828
28 28SISTEMAS DEINFORMAO
28
2828
28SISTEMAS DEINFORMAO28
28SISTEMAS DEINFORMAO28
2828
28SISTEMAS DEINFORMAO28
2828
28SISTEMAS DEINFORMAO28
28SISTEMAS DEINFORMAO28
2828
28SISTEMAS DEINFORMAO2828
28SISTEMAS DEINFORMAO28
2828
28SISTEMAS DEINFORMAO28
28SISTEMAS DEINFORMAO28
2828
28SISTEMAS DEINFORMAO28
2828
28SISTEMAS DEINFORMAO28
28SISTEMAS DEINFORMAO28
2828
28SISTEMAS DEINFORMAO28
2828
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Dorme de cabea para baixo.
Quebra o ovo.Anda em duas patas. Qu Qu QuDorme em p
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();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 cdigo.Quais as consequncias dessas definies ???
SISTEMAS DEINFORMAO
29
2929
29SISTEMAS DEINFORMAO29
2929
29SISTEMAS DEINFORMAO29
29SISTEMAS DEINFORMAO29
2929
29SISTEMAS DEINFORMAO29
2929
29SISTEMAS DEINFORMAO29
29SISTEMAS DEINFORMAO29
2929
SISTEMAS DEINFORMAO
29
2929
29 29SISTEMAS DEINFORMAO
29
2929
29SISTEMAS DEINFORMAO29
29SISTEMAS DEINFORMAO29
2929
29SISTEMAS DEINFORMAO29
2929
29SISTEMAS DEINFORMAO29
29SISTEMAS DEINFORMAO29
2929
29SISTEMAS DEINFORMAO2929
29SISTEMAS DEINFORMAO29
2929
29SISTEMAS DEINFORMAO29
29SISTEMAS DEINFORMAO29
2929
29SISTEMAS DEINFORMAO29
2929
29SISTEMAS DEINFORMAO29
29SISTEMAS DEINFORMAO29
2929
29SISTEMAS DEINFORMAO29
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 nasa(); public void nasa() {
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 nasa();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAO
30
3030
30SISTEMAS DEINFORMAO30
3030
30SISTEMAS DEINFORMAO30
30SISTEMAS DEINFORMAO30
3030
30SISTEMAS DEINFORMAO30
3030
30SISTEMAS DEINFORMAO30
30SISTEMAS DEINFORMAO30
3030
SISTEMAS DEINFORMAO
30
3030
30 30SISTEMAS DEINFORMAO
30
3030
30SISTEMAS DEINFORMAO30
30SISTEMAS DEINFORMAO30
3030
30SISTEMAS DEINFORMAO30
3030
30SISTEMAS DEINFORMAO30
30SISTEMAS DEINFORMAO30
3030
30SISTEMAS DEINFORMAO3030
30SISTEMAS DEINFORMAO30
3030
30SISTEMAS DEINFORMAO30
30SISTEMAS DEINFORMAO30
3030
30SISTEMAS DEINFORMAO30
3030
30SISTEMAS DEINFORMAO30
30SISTEMAS DEINFORMAO30
3030
30SISTEMAS DEINFORMAO30
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 nasa(); public void nasa() {
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 nasa();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAO
31
3131
31SISTEMAS DEINFORMAO31
3131
31SISTEMAS DEINFORMAO31
31SISTEMAS DEINFORMAO31
3131
31SISTEMAS DEINFORMAO31
3131
31SISTEMAS DEINFORMAO31
31SISTEMAS DEINFORMAO31
3131
SISTEMAS DEINFORMAO
31
3131
31 31SISTEMAS DEINFORMAO
31
3131
31SISTEMAS DEINFORMAO31
31SISTEMAS DEINFORMAO31
3131
31SISTEMAS DEINFORMAO31
3131
31SISTEMAS DEINFORMAO31
31SISTEMAS DEINFORMAO31
3131
31SISTEMAS DEINFORMAO3131
31SISTEMAS DEINFORMAO31
3131
31SISTEMAS DEINFORMAO31
31SISTEMAS DEINFORMAO31
3131
31SISTEMAS DEINFORMAO31
3131
31SISTEMAS DEINFORMAO31
31SISTEMAS DEINFORMAO31
3131
31SISTEMAS DEINFORMAO31
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 nasa(); public void nasa() {
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 nasa();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAO
32
3232
32SISTEMAS DEINFORMAO32
3232
32SISTEMAS DEINFORMAO32
32SISTEMAS DEINFORMAO32
3232
32SISTEMAS DEINFORMAO32
3232
32SISTEMAS DEINFORMAO32
32SISTEMAS DEINFORMAO32
3232
SISTEMAS DEINFORMAO
32
3232
32 32SISTEMAS DEINFORMAO
32
3232
32SISTEMAS DEINFORMAO32
32SISTEMAS DEINFORMAO32
3232
32SISTEMAS DEINFORMAO32
3232
32SISTEMAS DEINFORMAO32
32SISTEMAS DEINFORMAO32
3232
32SISTEMAS DEINFORMAO3232
32SISTEMAS DEINFORMAO32
3232
32SISTEMAS DEINFORMAO32
32SISTEMAS DEINFORMAO32
3232
32SISTEMAS DEINFORMAO32
3232
32SISTEMAS DEINFORMAO32
32SISTEMAS DEINFORMAO32
3232
32SISTEMAS DEINFORMAO32
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 nasa(); public void nasa() {
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 nasa();
void passeiePelaTela();
void durma();
double peso();
}
SISTEMAS DEINFORMAO
33
3333
33SISTEMAS DEINFORMAO33
3333
33SISTEMAS DEINFORMAO33
33SISTEMAS DEINFORMAO33
3333
33SISTEMAS DEINFORMAO33
3333
33SISTEMAS DEINFORMAO33
33SISTEMAS DEINFORMAO33
3333
SISTEMAS DEINFORMAO
33
3333
33 33SISTEMAS DEINFORMAO
33
3333
33SISTEMAS DEINFORMAO33
33SISTEMAS DEINFORMAO33
3333
33SISTEMAS DEINFORMAO33
3333
33SISTEMAS DEINFORMAO33
33SISTEMAS DEINFORMAO33
3333
33SISTEMAS DEINFORMAO3333
33SISTEMAS DEINFORMAO33
3333
33SISTEMAS DEINFORMAO33
33SISTEMAS DEINFORMAO33
3333
33SISTEMAS DEINFORMAO33
3333
33SISTEMAS DEINFORMAO33
33SISTEMAS DEINFORMAO33
3333
33SISTEMAS DEINFORMAO33
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 nasa(); public void nasa() {
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 nasa();
void passeiePelaTela();
void durma();
double peso();
}
No faz parte da interface...E da?
SISTEMAS DEINFORMAO
34
3434
34SISTEMAS DEINFORMAO34
3434
34SISTEMAS DEINFORMAO34
34SISTEMAS DEINFORMAO34
3434
34SISTEMAS DEINFORMAO34
3434
34SISTEMAS DEINFORMAO34
34SISTEMAS DEINFORMAO34
3434
SISTEMAS DEINFORMAO
34
3434
34 34SISTEMAS DEINFORMAO
34
3434
34SISTEMAS DEINFORMAO34
34SISTEMAS DEINFORMAO34
3434
34SISTEMAS DEINFORMAO34
3434
34SISTEMAS DEINFORMAO34
34SISTEMAS DEINFORMAO34
3434
34SISTEMAS DEINFORMAO3434
34SISTEMAS DEINFORMAO34
3434
34SISTEMAS DEINFORMAO34
34SISTEMAS DEINFORMAO34
3434
34SISTEMAS DEINFORMAO34
3434
34SISTEMAS DEINFORMAO34
34SISTEMAS DEINFORMAO34
3434
34SISTEMAS DEINFORMAO34
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.nasa();animal.passeiePelaTela();
No 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 DEINFORMAO
35
3535
35SISTEMAS DEINFORMAO35
3535
35SISTEMAS DEINFORMAO35
35SISTEMAS DEINFORMAO35
3535
35SISTEMAS DEINFORMAO35
3535
35SISTEMAS DEINFORMAO35
35SISTEMAS DEINFORMAO35
3535
SISTEMAS DEINFORMAO
35
3535
35 35SISTEMAS DEINFORMAO
35
3535
35SISTEMAS DEINFORMAO35
35SISTEMAS DEINFORMAO35
3535
35SISTEMAS DEINFORMAO35
3535
35SISTEMAS DEINFORMAO35
35SISTEMAS DEINFORMAO35
3535
35SISTEMAS DEINFORMAO3535
35SISTEMAS DEINFORMAO35
3535
35SISTEMAS DEINFORMAO35
35SISTEMAS DEINFORMAO35
3535
35SISTEMAS DEINFORMAO35
3535
35SISTEMAS DEINFORMAO35
35SISTEMAS DEINFORMAO35
3535
35SISTEMAS DEINFORMAO35
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.nasa();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);
Consequncia:
> Zebra zebraPequena = new Zebra(50, 105);
> Animal zebraGrande = new Zebra(230,160);
> zebraPequena.exibeListras();
Minha zebra tem 105 listras.
> zebraGrande.exibeListras();
SISTEMAS DEINFORMAO
36
3636
36SISTEMAS DEINFORMAO36
3636
36SISTEMAS DEINFORMAO36
36SISTEMAS DEINFORMAO36
3636
36SISTEMAS DEINFORMAO36
3636
36SISTEMAS DEINFORMAO36
36SISTEMAS DEINFORMAO36
3636
SISTEMAS DEINFORMAO
36
3636
36 36SISTEMAS DEINFORMAO
36
3636
36SISTEMAS DEINFORMAO36
36SISTEMAS DEINFORMAO36
3636
36SISTEMAS DEINFORMAO36
3636
36SISTEMAS DEINFORMAO36
36SISTEMAS DEINFORMAO36
3636
36SISTEMAS DEINFORMAO3636
36SISTEMAS DEINFORMAO36
3636
36SISTEMAS DEINFORMAO36
36SISTEMAS DEINFORMAO36
3636
36SISTEMAS DEINFORMAO36
3636
36SISTEMAS DEINFORMAO36
36SISTEMAS DEINFORMAO36
3636
36SISTEMAS DEINFORMAO36
3636
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
????
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();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);
Consequncia:
> Zebra zebraPequena = new Zebra(50, 105);
> Animal zebraGrande = new Zebra(230,160);
> zebraPequena.exibeListras();
Minha zebra tem 105 listras.
> zebraGrande.exibeListras();
SISTEMAS DEINFORMAO
37
3737
37SISTEMAS DEINFORMAO37
3737
37SISTEMAS DEINFORMAO37
37SISTEMAS DEINFORMAO37
3737
37SISTEMAS DEINFORMAO37
3737
37SISTEMAS DEINFORMAO37
37SISTEMAS DEINFORMAO37
3737
SISTEMAS DEINFORMAO
37
3737
37 37SISTEMAS DEINFORMAO
37
3737
37SISTEMAS DEINFORMAO37
37SISTEMAS DEINFORMAO37
3737
37SISTEMAS DEINFORMAO37
3737
37SISTEMAS DEINFORMAO37
37SISTEMAS DEINFORMAO37
3737
37SISTEMAS DEINFORMAO3737
37SISTEMAS DEINFORMAO37
3737
37SISTEMAS DEINFORMAO37
37SISTEMAS DEINFORMAO37
3737
37SISTEMAS DEINFORMAO37
3737
37SISTEMAS DEINFORMAO37
37SISTEMAS DEINFORMAO37
3737
37SISTEMAS DEINFORMAO37
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.nasa();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);
Consequncia:
> Zebra zebraPequena = new Zebra(50, 105);
> Animal zebraGrande = new Zebra(230,160);
> zebraPequena.exibeListras();
Minha zebra tem 105 listras.
> zebraGrande.exibeListras();
SISTEMAS DEINFORMAO
38
3838
38SISTEMAS DEINFORMAO38
3838
38SISTEMAS DEINFORMAO38
38SISTEMAS DEINFORMAO38
3838
38SISTEMAS DEINFORMAO38
3838
38SISTEMAS DEINFORMAO38
38SISTEMAS DEINFORMAO38
3838
SISTEMAS DEINFORMAO
38
3838
38 38SISTEMAS DEINFORMAO
38
3838
38SISTEMAS DEINFORMAO38
38SISTEMAS DEINFORMAO38
3838
38SISTEMAS DEINFORMAO38
3838
38SISTEMAS DEINFORMAO38
38SISTEMAS DEINFORMAO38
3838
38SISTEMAS DEINFORMAO3838
38SISTEMAS DEINFORMAO38
3838
38SISTEMAS DEINFORMAO38
38SISTEMAS DEINFORMAO38
3838
38SISTEMAS DEINFORMAO38
3838
38SISTEMAS DEINFORMAO38
38SISTEMAS DEINFORMAO38
3838
38SISTEMAS DEINFORMAO38
3838
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Static Error: No method in Animal with name
'exibeListras' accepts arguments ()
A associao de qual mtodo executar
dinmica, mas a interface definida estaticamente
(Java tipada!)
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();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 DEINFORMAO
39
3939
39SISTEMAS DEINFORMAO39
3939
39SISTEMAS DEINFORMAO39
39SISTEMAS DEINFORMAO39
3939
39SISTEMAS DEINFORMAO39
3939
39SISTEMAS DEINFORMAO39
39SISTEMAS DEINFORMAO39
3939
SISTEMAS DEINFORMAO
39
3939
39 39SISTEMAS DEINFORMAO
39
3939
39SISTEMAS DEINFORMAO39
39SISTEMAS DEINFORMAO39
3939
39SISTEMAS DEINFORMAO39
3939
39SISTEMAS DEINFORMAO39
39SISTEMAS DEINFORMAO39
3939
39SISTEMAS DEINFORMAO3939
39SISTEMAS DEINFORMAO39
3939
39SISTEMAS DEINFORMAO39
39SISTEMAS DEINFORMAO39
3939
39SISTEMAS DEINFORMAO39
3939
39SISTEMAS DEINFORMAO39
39SISTEMAS DEINFORMAO39
3939
39SISTEMAS DEINFORMAO39
3939
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();animal.passeiePelaTela();
class Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();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 DEINFORMAO
40
4040
40SISTEMAS DEINFORMAO40
4040
40SISTEMAS DEINFORMAO40
40SISTEMAS DEINFORMAO40
4040
40SISTEMAS DEINFORMAO40
4040
40SISTEMAS DEINFORMAO40
40SISTEMAS DEINFORMAO40
4040
SISTEMAS DEINFORMAO
40
4040
40 40SISTEMAS DEINFORMAO
40
4040
40SISTEMAS DEINFORMAO40
40SISTEMAS DEINFORMAO40
4040
40SISTEMAS DEINFORMAO40
4040
40SISTEMAS DEINFORMAO40
40SISTEMAS DEINFORMAO40
4040
40SISTEMAS DEINFORMAO4040
40SISTEMAS DEINFORMAO40
4040
40SISTEMAS DEINFORMAO40
40SISTEMAS DEINFORMAO40
4040
40SISTEMAS DEINFORMAO40
4040
40SISTEMAS DEINFORMAO40
40SISTEMAS DEINFORMAO40
4040
40SISTEMAS DEINFORMAO40
4040
??? }
}
cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);
}}
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();animal.passeiePelaTela();
class Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();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 DEINFORMAO
41
4141
41SISTEMAS DEINFORMAO41
4141
41SISTEMAS DEINFORMAO41
41SISTEMAS DEINFORMAO41
4141
41SISTEMAS DEINFORMAO41
4141
41SISTEMAS DEINFORMAO41
41SISTEMAS DEINFORMAO41
4141
SISTEMAS DEINFORMAO
41
4141
41 41SISTEMAS DEINFORMAO
41
4141
41SISTEMAS DEINFORMAO41
41SISTEMAS DEINFORMAO41
4141
41SISTEMAS DEINFORMAO41
4141
41SISTEMAS DEINFORMAO41
41SISTEMAS DEINFORMAO41
4141
41SISTEMAS DEINFORMAO4141
41SISTEMAS DEINFORMAO41
4141
41SISTEMAS DEINFORMAO41
41SISTEMAS DEINFORMAO41
4141
41SISTEMAS DEINFORMAO41
4141
41SISTEMAS DEINFORMAO41
41SISTEMAS DEINFORMAO41
4141
41SISTEMAS DEINFORMAO41
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.nasa();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 DEINFORMAO
42
4242
42SISTEMAS DEINFORMAO42
4242
42SISTEMAS DEINFORMAO42
42SISTEMAS DEINFORMAO42
4242
42SISTEMAS DEINFORMAO42
4242
42SISTEMAS DEINFORMAO42
42SISTEMAS DEINFORMAO42
4242
SISTEMAS DEINFORMAO
42
4242
42 42SISTEMAS DEINFORMAO
42
4242
42SISTEMAS DEINFORMAO42
42SISTEMAS DEINFORMAO42
4242
42SISTEMAS DEINFORMAO42
4242
42SISTEMAS DEINFORMAO42
42SISTEMAS DEINFORMAO42
4242
42SISTEMAS DEINFORMAO4242
42SISTEMAS DEINFORMAO42
4242
42SISTEMAS DEINFORMAO42
42SISTEMAS DEINFORMAO42
4242
42SISTEMAS DEINFORMAO42
4242
42SISTEMAS DEINFORMAO42
42SISTEMAS DEINFORMAO42
4242
42SISTEMAS DEINFORMAO42
4242
for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]);
}}
outro jeito ???
Interfaceclass Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();animal.passeiePelaTela();
class Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();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 DEINFORMAO
43
4343
43SISTEMAS DEINFORMAO43
4343
43SISTEMAS DEINFORMAO43
43SISTEMAS DEINFORMAO43
4343
43SISTEMAS DEINFORMAO43
4343
43SISTEMAS DEINFORMAO43
43SISTEMAS DEINFORMAO43
4343
SISTEMAS DEINFORMAO
43
4343
43 43SISTEMAS DEINFORMAO
43
4343
43SISTEMAS DEINFORMAO43
43SISTEMAS DEINFORMAO43
4343
43SISTEMAS DEINFORMAO43
4343
43SISTEMAS DEINFORMAO43
43SISTEMAS DEINFORMAO43
4343
43SISTEMAS DEINFORMAO4343
43SISTEMAS DEINFORMAO43
4343
43SISTEMAS DEINFORMAO43
43SISTEMAS DEINFORMAO43
4343
43SISTEMAS DEINFORMAO43
4343
43SISTEMAS DEINFORMAO43
43SISTEMAS DEINFORMAO43
4343
43SISTEMAS DEINFORMAO43
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.nasa();animal.passeiePelaTela();
class Zoologico{
static void cicloDeVida (Animal animal) {animal.nasa();animal.passeiePelaTela();
Primeira verso ltima verso
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 DEINFORMAO
44
4444
44SISTEMAS DEINFORMAO44
4444
44SISTEMAS DEINFORMAO44
44SISTEMAS DEINFORMAO44
4444
44SISTEMAS DEINFORMAO44
4444
44SISTEMAS DEINFORMAO44
44SISTEMAS DEINFORMAO44
4444
SISTEMAS DEINFORMAO
44
4444
44 44SISTEMAS DEINFORMAO
44
4444
44SISTEMAS DEINFORMAO44
44SISTEMAS DEINFORMAO44
4444
44SISTEMAS DEINFORMAO44
4444
44SISTEMAS DEINFORMAO44
44SISTEMAS DEINFORMAO44
4444
44SISTEMAS DEINFORMAO4444
44SISTEMAS DEINFORMAO44
4444
44SISTEMAS DEINFORMAO44
44SISTEMAS DEINFORMAO44
4444
44SISTEMAS DEINFORMAO44
4444
44SISTEMAS DEINFORMAO44
44SISTEMAS DEINFORMAO44
4444
44SISTEMAS DEINFORMAO44
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 no obedecem uma nica interface.
Exemplo:
um indivduo, pode ser ao mesmo tempo :
um homem (ou mulher)
um professor
um coordenador de curso
SISTEMAS DEINFORMAO
45
4545
45SISTEMAS DEINFORMAO45
4545
45SISTEMAS DEINFORMAO45
45SISTEMAS DEINFORMAO45
4545
45SISTEMAS DEINFORMAO45
4545
45SISTEMAS DEINFORMAO45
45SISTEMAS DEINFORMAO45
4545
SISTEMAS DEINFORMAO
45
4545
45 45SISTEMAS DEINFORMAO
45
4545
45SISTEMAS DEINFORMAO45
45SISTEMAS DEINFORMAO45
4545
45SISTEMAS DEINFORMAO45
4545
45SISTEMAS DEINFORMAO45
45SISTEMAS DEINFORMAO45
4545
45SISTEMAS DEINFORMAO4545
45SISTEMAS DEINFORMAO45
4545
45SISTEMAS DEINFORMAO45
45SISTEMAS DEINFORMAO45
4545
45SISTEMAS DEINFORMAO45
4545
45SISTEMAS DEINFORMAO45
45SISTEMAS DEINFORMAO45
4545
45SISTEMAS DEINFORMAO45
4545
um scio de clube
cada um desses papis poderia entender mensagens prprias
Implementando mais de uma Interface
indivduo nasce, cresce, morre:
homem alista-se no exrcito homem alista-se no exrcito
professor ministra aula, avalia alunos, publica artigos
coordenador de curso atribui aulas, faz horrio
scio de clube paga mensalidade, usa piscina
SISTEMAS DEINFORMAO
46
4646
46SISTEMAS DEINFORMAO46
4646
46SISTEMAS DEINFORMAO46
46SISTEMAS DEINFORMAO46
4646
46SISTEMAS DEINFORMAO46
4646
46SISTEMAS DEINFORMAO46
46SISTEMAS DEINFORMAO46
4646
SISTEMAS DEINFORMAO
46
4646
46 46SISTEMAS DEINFORMAO
46
4646
46SISTEMAS DEINFORMAO46
46SISTEMAS DEINFORMAO46
4646
46SISTEMAS DEINFORMAO46
4646
46SISTEMAS DEINFORMAO46
46SISTEMAS DEINFORMAO46
4646
46SISTEMAS DEINFORMAO4646
46SISTEMAS DEINFORMAO46
4646
46SISTEMAS DEINFORMAO46
46SISTEMAS DEINFORMAO46
4646
46SISTEMAS DEINFORMAO46
4646
46SISTEMAS DEINFORMAO46
46SISTEMAS DEINFORMAO46
4646
46SISTEMAS DEINFORMAO46
4646
Implementando mais de uma Interface Exemplo de implementao:
interfaces Voador e Transportador dePessoas
interface Voador{void voa();
void aterrisa();}
interface TransportadorDePessoas{
void entramPessoas();
void saemPessoas();}
SISTEMAS DEINFORMAO
47
4747
47SISTEMAS DEINFORMAO47
4747
47SISTEMAS DEINFORMAO47
47SISTEMAS DEINFORMAO47
4747
47SISTEMAS DEINFORMAO47
4747
47SISTEMAS DEINFORMAO47
47SISTEMAS DEINFORMAO47
4747
SISTEMAS DEINFORMAO
47
4747
47 47SISTEMAS DEINFORMAO
47
4747
47SISTEMAS DEINFORMAO47
47SISTEMAS DEINFORMAO47
4747
47SISTEMAS DEINFORMAO47
4747
47SISTEMAS DEINFORMAO47
47SISTEMAS DEINFORMAO47
4747
47SISTEMAS DEINFORMAO4747
47SISTEMAS DEINFORMAO47
4747
47SISTEMAS DEINFORMAO47
47SISTEMAS DEINFORMAO47
4747
47SISTEMAS DEINFORMAO47
4747
47SISTEMAS DEINFORMAO47
47SISTEMAS DEINFORMAO47
4747
47SISTEMAS DEINFORMAO47
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
cho");
}
SISTEMAS DEINFORMAO
48
4848
48SISTEMAS DEINFORMAO48
4848
48SISTEMAS DEINFORMAO48
48SISTEMAS DEINFORMAO48
4848
48SISTEMAS DEINFORMAO48
4848
48SISTEMAS DEINFORMAO48
48SISTEMAS DEINFORMAO48
4848
SISTEMAS DEINFORMAO
48
4848
48 48SISTEMAS DEINFORMAO
48
4848
48SISTEMAS DEINFORMAO48
48SISTEMAS DEINFORMAO48
4848
48SISTEMAS DEINFORMAO48
4848
48SISTEMAS DEINFORMAO48
48SISTEMAS DEINFORMAO48
4848
48SISTEMAS DEINFORMAO4848
48SISTEMAS DEINFORMAO48
4848
48SISTEMAS DEINFORMAO48
48SISTEMAS DEINFORMAO48
4848
48SISTEMAS DEINFORMAO48
4848
48SISTEMAS DEINFORMAO48
48SISTEMAS DEINFORMAO48
4848
48SISTEMAS DEINFORMAO48
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 sarem");
SISTEMAS DEINFORMAO
49
4949
49SISTEMAS DEINFORMAO49
4949
49SISTEMAS DEINFORMAO49
49SISTEMAS DEINFORMAO49
4949
49SISTEMAS DEINFORMAO49
4949
49SISTEMAS DEINFORMAO49
49SISTEMAS DEINFORMAO49
4949
SISTEMAS DEINFORMAO
49
4949
49 49SISTEMAS DEINFORMAO
49
4949
49SISTEMAS DEINFORMAO49
49SISTEMAS DEINFORMAO49
4949
49SISTEMAS DEINFORMAO49
4949
49SISTEMAS DEINFORMAO49
49SISTEMAS DEINFORMAO49
4949
49SISTEMAS DEINFORMAO4949
49SISTEMAS DEINFORMAO49
4949
49SISTEMAS DEINFORMAO49
49SISTEMAS DEINFORMAO49
4949
49SISTEMAS DEINFORMAO49
4949
49SISTEMAS DEINFORMAO49
49SISTEMAS DEINFORMAO49
4949
49SISTEMAS DEINFORMAO49
4949
para as pessoas sarem");
}
}
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 cho e suavemente... :-)");
}
public void entramPessoas() { System.out.println ("Procedimento de embarque - idosos,
SISTEMAS DEINFORMAO
50
5050
50SISTEMAS DEINFORMAO50
5050
50SISTEMAS DEINFORMAO50
50SISTEMAS DEINFORMAO50
5050
50SISTEMAS DEINFORMAO50
5050
50SISTEMAS DEINFORMAO50
50SISTEMAS DEINFORMAO50
5050
SISTEMAS DEINFORMAO
50
5050
50 50SISTEMAS DEINFORMAO
50
5050
50SISTEMAS DEINFORMAO50
50SISTEMAS DEINFORMAO50
5050
50SISTEMAS DEINFORMAO50
5050
50SISTEMAS DEINFORMAO50
50SISTEMAS DEINFORMAO50
5050
50SISTEMAS DEINFORMAO5050
50SISTEMAS DEINFORMAO50
5050
50SISTEMAS DEINFORMAO50
50SISTEMAS DEINFORMAO50
5050
50SISTEMAS DEINFORMAO50
5050
50SISTEMAS DEINFORMAO50
50SISTEMAS DEINFORMAO50
5050
50SISTEMAS DEINFORMAO50
5050
} System.out.println ("Procedimento de embarque - idosos, gestantes e portadores de deficincia tm preferncia...");}
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 sarem
Bate as asas
Desliza suavemente at tocar o cho
Procedimento de embarque - idosos,
gestantes e portadores de deficincia tm
preferncia...
Liga as turbinas e decola.
SISTEMAS DEINFORMAO
51
5151
51SISTEMAS DEINFORMAO51
5151
51SISTEMAS DEINFORMAO51
51SISTEMAS DEINFORMAO51
5151
51SISTEMAS DEINFORMAO51
5151
51SISTEMAS DEINFORMAO51
51SISTEMAS DEINFORMAO51
5151
SISTEMAS DEINFORMAO
51
5151
51 51SISTEMAS DEINFORMAO
51
5151
51SISTEMAS DEINFORMAO51
51SISTEMAS DEINFORMAO51
5151
51SISTEMAS DEINFORMAO51
5151
51SISTEMAS DEINFORMAO51
51SISTEMAS DEINFORMAO51
5151
51SISTEMAS DEINFORMAO5151
51SISTEMAS DEINFORMAO51
5151
51SISTEMAS DEINFORMAO51
51SISTEMAS DEINFORMAO51
5151
51SISTEMAS DEINFORMAO51
5151
51SISTEMAS DEINFORMAO51
51SISTEMAS DEINFORMAO51
5151
51SISTEMAS DEINFORMAO51
5151
a.voa();
}}
Liga as turbinas e decola.
Um exemplo pouco mais complexo Classe Fruta
atributos: nome, peso, preo
atributos devem ser carregados no construtor atributos devem ser carregados no construtor
SISTEMAS DEINFORMAO
52
5252
52SISTEMAS DEINFORMAO52
5252
52SISTEMAS DEINFORMAO52
52SISTEMAS DEINFORMAO52
5252
52SISTEMAS DEINFORMAO52
5252
52SISTEMAS DEINFORMAO52
52SISTEMAS DEINFORMAO52
5252
SISTEMAS DEINFORMAO
52
5252
52 52SISTEMAS DEINFORMAO
52
5252
52SISTEMAS DEINFORMAO52
52SISTEMAS DEINFORMAO52
5252
52SISTEMAS DEINFORMAO52
5252
52SISTEMAS DEINFORMAO52
52SISTEMAS DEINFORMAO52
5252
52SISTEMAS DEINFORMAO5252
52SISTEMAS DEINFORMAO52
5252
52SISTEMAS DEINFORMAO52
52SISTEMAS DEINFORMAO52
5252
52SISTEMAS DEINFORMAO52
5252
52SISTEMAS DEINFORMAO52
52SISTEMAS DEINFORMAO52
5252
52SISTEMAS DEINFORMAO52
5252
Um exemplo pouco mais complexo Classe Fruta
atributos: nome, peso,
class Fruta
{
String nome;
double preco, peso;nome, peso, preo
atributos devem ser carregados no construtor
Fruta (String n, double p, double pr)
{
nome = n;
peso = p;
preco = pr;
}
void imprime()
SISTEMAS DEINFORMAO
53
5353
53SISTEMAS DEINFORMAO53
5353
53SISTEMAS DEINFORMAO53
53SISTEMAS DEINFORMAO53
5353
53SISTEMAS DEINFORMAO53
5353
53SISTEMAS DEINFORMAO53
53SISTEMAS DEINFORMAO53
5353
SISTEMAS DEINFORMAO
53
5353
53 53SISTEMAS DEINFORMAO
53
5353
53SISTEMAS DEINFORMAO53
53SISTEMAS DEINFORMAO53
5353
53SISTEMAS DEINFORMAO53
5353
53SISTEMAS DEINFORMAO53
53SISTEMAS DEINFORMAO53
5353
53SISTEMAS DEINFORMAO5353
53SISTEMAS DEINFORMAO53
5353
53SISTEMAS DEINFORMAO53
53SISTEMAS DEINFORMAO53
5353
53SISTEMAS DEINFORMAO53
5353
53SISTEMAS DEINFORMAO53
53SISTEMAS DEINFORMAO53
5353
53SISTEMAS DEINFORMAO53
5353
void imprime()
{
System.out.print("Nome: " + nome);
System.out.print( Peso: " + peso);
System.out.println( Preo: " + 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 DEINFORMAO
54
5454
54SISTEMAS DEINFORMAO54
5454
54SISTEMAS DEINFORMAO54
54SISTEMAS DEINFORMAO54
5454
54SISTEMAS DEINFORMAO54
5454
54SISTEMAS DEINFORMAO54
54SISTEMAS DEINFORMAO54
5454
SISTEMAS DEINFORMAO
54
5454
54 54SISTEMAS DEINFORMAO
54
5454
54SISTEMAS DEINFORMAO54
54SISTEMAS DEINFORMAO54
5454
54SISTEMAS DEINFORMAO54
5454
54SISTEMAS DEINFORMAO54
54SISTEMAS DEINFORMAO54
5454
54SISTEMAS DEINFORMAO5454
54SISTEMAS DEINFORMAO54
5454
54SISTEMAS DEINFORMAO54
54SISTEMAS DEINFORMAO54
5454
54SISTEMAS DEINFORMAO54
5454
54SISTEMAS DEINFORMAO54
54SISTEMAS DEINFORMAO54
5454
54SISTEMAS DEINFORMAO54
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 mtodos de ordenao
podemos escolher um mtodo e implementar
SISTEMAS DEINFORMAO
55
5555
55SISTEMAS DEINFORMAO55
5555
55SISTEMAS DEINFORMAO55
55SISTEMAS DEINFORMAO55
5555
55SISTEMAS DEINFORMAO55
5555
55SISTEMAS DEINFORMAO55
55SISTEMAS DEINFORMAO55
5555
SISTEMAS DEINFORMAO
55
5555
55 55SISTEMAS DEINFORMAO
55
5555
55SISTEMAS DEINFORMAO55
55SISTEMAS DEINFORMAO55
5555
55SISTEMAS DEINFORMAO55
5555
55SISTEMAS DEINFORMAO55
55SISTEMAS DEINFORMAO55
5555
55SISTEMAS DEINFORMAO5555
55SISTEMAS DEINFORMAO55
5555
55SISTEMAS DEINFORMAO55
55SISTEMAS DEINFORMAO55
5555
55SISTEMAS DEINFORMAO55
5555
55SISTEMAS DEINFORMAO55
55SISTEMAS DEINFORMAO55
5555
55SISTEMAS DEINFORMAO55
5555
podemos escolher um mtodo e implementar
mudar somente o critrio de comparao (preo 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 Preo
// 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( Preo: " + preco);
SISTEMAS DEINFORMAO
56
5656
56SISTEMAS DEINFORMAO56
5656
56SISTEMAS DEINFORMAO56
56SISTEMAS DEINFORMAO56
5656
56SISTEMAS DEINFORMAO56
5656
56SISTEMAS DEINFORMAO56
56SISTEMAS DEINFORMAO56
5656
SISTEMAS DEINFORMAO
56
5656
56 56SISTEMAS DEINFORMAO
56
5656
56SISTEMAS DEINFORMAO56
56SISTEMAS DEINFORMAO56
5656
56SISTEMAS DEINFORMAO56
5656
56SISTEMAS DEINFORMAO56
56SISTEMAS DEINFORMAO56
5656
56SISTEMAS DEINFORMAO5656
56SISTEMAS DEINFORMAO56
5656
56SISTEMAS DEINFORMAO56
56SISTEMAS DEINFORMAO56
5656
56SISTEMAS DEINFORMAO56
5656
56SISTEMAS DEINFORMAO56
56SISTEMAS DEINFORMAO56
5656
56SISTEMAS DEINFORMAO56
5656
// ordena por Peso
// mtodo principal que invoca os demais
}
System.out.println( Preo: " + 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 Preo
// 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( Preo: " + preco);
SISTEMAS DEINFORMAO
57
5757
57SISTEMAS DEINFORMAO57
5757
57SISTEMAS DEINFORMAO57
57SISTEMAS DEINFORMAO57
5757
57SISTEMAS DEINFORMAO57
5757
57SISTEMAS DEINFORMAO57
57SISTEMAS DEINFORMAO57
5757
SISTEMAS DEINFORMAO
57
5757
57 57SISTEMAS DEINFORMAO
57
5757
57SISTEMAS DEINFORMAO57
57SISTEMAS DEINFORMAO57
5757
57SISTEMAS DEINFORMAO57
5757
57SISTEMAS DEINFORMAO57
57SISTEMAS DEINFORMAO57
5757
57SISTEMAS DEINFORMAO5757
57SISTEMAS DEINFORMAO57
5757
57SISTEMAS DEINFORMAO57
57SISTEMAS DEINFORMAO57
5757
57SISTEMAS DEINFORMAO57
5757
57SISTEMAS DEINFORMAO57
57SISTEMAS DEINFORMAO57
5757
57SISTEMAS DEINFORMAO57
5757
// ordena por Peso
// mtodo principal que invoca os demais
}
System.out.println( Preo: " + 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 ("Mamo", 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( Preo: " + preco);
SISTEMAS DEINFORMAO
58
5858
58SISTEMAS DEINFORMAO58
5858
58SISTEMAS DEINFORMAO58
58SISTEMAS DEINFORMAO58
5858
58SISTEMAS DEINFORMAO58
5858
58SISTEMAS DEINFORMAO58
58SISTEMAS DEINFORMAO58
5858
SISTEMAS DEINFORMAO
58
5858
58 58SISTEMAS DEINFORMAO
58
5858
58SISTEMAS DEINFORMAO58
58SISTEMAS DEINFORMAO58
5858
58SISTEMAS DEINFORMAO58
5858
58SISTEMAS DEINFORMAO58
58SISTEMAS DEINFORMAO58
5858
58SISTEMAS DEINFORMAO5858
58SISTEMAS DEINFORMAO58
5858
58SISTEMAS DEINFORMAO58
58SISTEMAS DEINFORMAO58
5858
58SISTEMAS DEINFORMAO58
5858
58SISTEMAS DEINFORMAO58
58SISTEMAS DEINFORMAO58
5858
58SISTEMAS DEINFORMAO58
5858
frutas [4] = new Fruta ("Banana", 0.3, 0.2);
}
// imprime frutas
// ordena por Preo
System.out.println( Preo: " + 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 Preo
// 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( Preo: " + preco);
SISTEMAS DEINFORMAO
59
5959
59SISTEMAS DEINFORMAO59
5959
59SISTEMAS DEINFORMAO59
59SISTEMAS DEINFORMAO59
5959
59SISTEMAS DEINFORMAO59
5959
59SISTEMAS DEINFORMAO59
59SISTEMAS DEINFORMAO59
5959
SISTEMAS DEINFORMAO
59
5959
59 59SISTEMAS DEINFORMAO
59
5959
59SISTEMAS DEINFORMAO59
59SISTEMAS DEINFORMAO59
5959
59SISTEMAS DEINFORMAO59
5959
59SISTEMAS DEINFORMAO59
59SISTEMAS DEINFORMAO59
5959
59SISTEMAS DEINFORMAO5959
59SISTEMAS DEINFORMAO59
5959
59SISTEMAS DEINFORMAO59
59SISTEMAS DEINFORMAO59
5959
59SISTEMAS DEINFORMAO59
5959
59SISTEMAS DEINFORMAO59
59SISTEMAS DEINFORMAO59
5959
59SISTEMAS DEINFORMAO59
5959
// ordena por Peso
// mtodo principal que invoca os demais
}
System.out.println( Preo: " + 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( Preo: " + preco);
SISTEMAS DEINFORMAO
60
6060
60SISTEMAS DEINFORMAO60
6060
60SISTEMAS DEINFORMAO60
60SISTEMAS DEINFORMAO60
6060
60SISTEMAS DEINFORMAO60
6060
60SISTEMAS DEINFORMAO60
60SISTEMAS DEINFORMAO60
6060
SISTEMAS DEINFORMAO
60
6060
60 60SISTEMAS DEINFORMAO
60
6060
60SISTEMAS DEINFORMAO60
60SISTEMAS DEINFORMAO60
6060
60SISTEMAS DEINFORMAO60
6060
60SISTEMAS DEINFORMAO60
60SISTEMAS DEINFORMAO60
6060
60SISTEMAS DEINFORMAO6060
60SISTEMAS DEINFORMAO60
6060
60SISTEMAS DEINFORMAO60
60SISTEMAS DEINFORMAO60
6060
60SISTEMAS DEINFORMAO60
6060
60SISTEMAS DEINFORMAO60
60SISTEMAS DEINFORMAO60
6060
60SISTEMAS DEINFORMAO60
6060
}System.out.println( Preo: " + 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 Preo
????
// ordena por Peso
// mtodo 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( Preo: " + preco);
SISTEMAS DEINFORMAO
61
6161
61SISTEMAS DEINFORMAO61
6161
61SISTEMAS DEINFORMAO61
61SISTEMAS DEINFORMAO61
6161
61SISTEMAS DEINFORMAO61
6161
61SISTEMAS DEINFORMAO61
61SISTEMAS DEINFORMAO61
6161
SISTEMAS DEINFORMAO
61
6161
61 61SISTEMAS DEINFORMAO
61
6161
61SISTEMAS DEINFORMAO61
61SISTEMAS DEINFORMAO61
6161
61SISTEMAS DEINFORMAO61
6161
61SISTEMAS DEINFORMAO61
61SISTEMAS DEINFORMAO61
6161
61SISTEMAS DEINFORMAO6161
61SISTEMAS DEINFORMAO61
6161
61SISTEMAS DEINFORMAO61
61SISTEMAS DEINFORMAO61
6161
61SISTEMAS DEINFORMAO61
6161
61SISTEMAS DEINFORMAO61
61SISTEMAS DEINFORMAO61
6161
61SISTEMAS DEINFORMAO61
6161
}
System.out.println( Preo: " + preco);}
}
Um exemplo pouco mais complexoclass Quitanda
{// define array e construtor
// imprime frutas
// ordena por Preo mtodo insero direta
class Fruta{String nome;
double preco, peso;
Fruta (String n, double p, double pr)
class Fruta{String nome;
double preco, peso;
Fruta (String n, double p, double pr) // ordena por Preo mtodo insero diretavoid ordenaPorPreco () {
int ivet, isubv;Fruta frutaAInserir;
for (ivet=1; ivet < frutas.length; ivet++) {
frutaAInserir = frutas[ivet]; isubv = ivet;
pr)
{nome = n;peso = p;preco = pr;
}
void imprime() {
System.out.print("Nome: " +
nome);System.out.print( 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( Preo: " + preco);
SISTEMAS DEINFORMAO
62
6262
62SISTEMAS DEINFORMAO62
6262
62SISTEMAS DEINFORMAO62
62SISTEMAS DEINFORMAO62
6262
62SISTEMAS DEINFORMAO62
6262
62SISTEMAS DEINFORMAO62
62SISTEMAS DEINFORMAO62
6262
SISTEMAS DEINFORMAO
62
6262
62 62SISTEMAS DEINFORMAO
62
6262
62SISTEMAS DEINFORMAO62
62SISTEMAS DEINFORMAO62
6262
62SISTEMAS DEINFORMAO62
6262
62SISTEMAS DEINFORMAO62
62SISTEMAS DEINFORMAO62
6262
62SISTEMAS DEINFORMAO6262
62SISTEMAS DEINFORMAO62
6262
62SISTEMAS DEINFORMAO62
62SISTEMAS DEINFORMAO62
6262
62SISTEMAS DEINFORMAO62
6262
62SISTEMAS DEINFORMAO62
62SISTEMAS DEINFORMAO62
6262
62SISTEMAS DEINFORMAO62
6262
while ((isubv > 0) && (frutas[isubv -1].preco > frutaAInserir.preco)) {
frutas[isubv] = frutas[isubv - 1];isubv--;
}frutas [isubv] = frutaAInserir;
} }
System.out.print( Peso: " + peso);
System.out.println( Preo: " +
preco);}
}
System.out.println( Preo: " + preco);}
}
Um exemplo pouco mais complexoclass Quitanda{// define array e construtor
// imprime frutas// ordena por Preo
class Fruta{String nome;
double preco, peso;
Fruta (String n, double p, double pr) // ordena por Preo
// ordena por Peso
????
// mtodo 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( Preo: " + preco);
SISTEMAS DEINFORMAO
63
6363
63SISTEMAS DEINFORMAO63
6363
63SISTEMAS DEINFORMAO63
63SISTEMAS DEINFORMAO63
6363
63SISTEMAS DEINFORMAO63
6363
63SISTEMAS DEINFORMAO63
63SISTEMAS DEINFORMAO63
6363
SISTEMAS DEINFORMAO
63
6363
63 63SISTEMAS DEINFORMAO
63
6363
63SISTEMAS DEINFORMAO63
63SISTEMAS DEINFORMAO63
6363
63SISTEMAS DEINFORMAO63
6363
63SISTEMAS DEINFORMAO63
63SISTEMAS DEINFORMAO63
6363
63SISTEMAS DEINFORMAO6363
63SISTEMAS DEINFORMAO63
6363
63SISTEMAS DEINFORMAO63
63SISTEMAS DEINFORMAO63
6363
63SISTEMAS DEINFORMAO63
6363
63SISTEMAS DEINFORMAO63
63SISTEMAS DEINFORMAO63
6363
63SISTEMAS DEINFORMAO63
6363
System.out.println( Preo: " + preco);}
}
Um exemplo pouco mais complexoclass Quitanda{// define array e construtor
// imprime frutas// ordena por Preo
// ordena por Peso
class Fruta{String nome;
double preco, peso;
Fruta (String n, double p, double pr) // ordena por Peso
void ordenaPorPreco () {
int ivet, isubv;Fruta frutaAInserir;
for (ivet=1; ivet < frutas.length; ivet++) {
frutaAInserir = frutas[ivet];
isubv = ivet;
pr)
{nome = n;peso = p;preco = pr;
}
void imprime() {
System.out.print("Nome: " +
nome);System.out.print( Peso: " +
SISTEMAS DEINFORMAO
64
6464
64SISTEMAS DEINFORMAO64
6464
64SISTEMAS DEINFORMAO64
64SISTEMAS DEINFORMAO64
6464
64SISTEMAS DEINFORMAO64
6464
64SISTEMAS DEINFORMAO64
64SISTEMAS DEINFORMAO64
6464
SISTEMAS DEINFORMAO
64
6464
64 64SISTEMAS DEINFORMAO
64
6464
64SISTEMAS DEINFORMAO64
64SISTEMAS DEINFORMAO64
6464
64SISTEMAS DEINFORMAO64
6464
64SISTEMAS DEINFORMAO64
64SISTEMAS DEINFORMAO64
6464
64SISTEMAS DEINFORMAO6464
64SISTEMAS DEINFORMAO64
6464
64SISTEMAS DEINFORMAO64
64SISTEMAS DEINFORMAO64
6464
64SISTEMAS DEINFORMAO64
6464
64SISTEMAS DEINFORMAO64
64SISTEMAS DEINFORMAO64
6464
64SISTEMAS DEINFORMAO64
6464
while ((isubv > 0) && (frutas [isubv -1].peso > frutaAInserir.peso)) {
frutas[isubv] = frutas[isubv - 1];isubv--;
}frutas [isubv] = frutaAInserir;
}}
System.out.print( Peso: " + peso);
System.out.println( Preo: " +
preco);}
}
Um exemplo pouco mais complexoclass Quitanda{// define array e construtor
// imprime frutas // ordena por Preo// ordena por Preo// ordena por Peso
// mtodo principal que invoca os demaispublic static void main (String [] args) {Quitanda xepa = new Quitanda();
System.out.println("Desordenado");xepa.imprime();System.out.println("Em ordem de preo");xepa.ordenaPorPreco();
SISTEMAS DEINFORMAO
65
6565
65SISTEMAS DEINFORMAO65
6565
65SISTEMAS DEINFORMAO65
65SISTEMAS DEINFORMAO65
6565
65SISTEMAS DEINFORMAO65
6565
65SISTEMAS DEINFORMAO65
65SISTEMAS DEINFORMAO65
6565
SISTEMAS DEINFORMAO
65
6565
65 65SISTEMAS DEINFORMAO
65
6565
65SISTEMAS DEINFORMAO65
65SISTEMAS DEINFORMAO65
6565
65SISTEMAS DEINFORMAO65
6