Interfaces - Escola de Artes, Ciências e Humanidades...

80
Professoras: Interfaces SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 1 SISTEMAS DE INFORMAÇÃO 1 1 1 Ariane Machado Lima Fátima L. S. Nunes

Transcript of Interfaces - Escola de Artes, Ciências e Humanidades...

  • 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