interfaces - escola de artes, ciências e humanidades · interface • um exemplo: criação de um...

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

Upload: others

Post on 16-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • Professoras:

    Interfaces

    SISTEMAS DEINFORMAÇÃO

    1

    11

    1SISTEMAS DEINFORMAÇÃO1

    11

    1SISTEMAS DEINFORMAÇÃO1

    1SISTEMAS DEINFORMAÇÃO1

    11

    1SISTEMAS DEINFORMAÇÃO1

    11

    1SISTEMAS DEINFORMAÇÃO1

    1SISTEMAS DEINFORMAÇÃO1

    11

    SISTEMAS DEINFORMAÇÃO

    1

    11

    1 1SISTEMAS DEINFORMAÇÃO

    1

    11

    1SISTEMAS DEINFORMAÇÃO1

    1SISTEMAS DEINFORMAÇÃO1

    11

    1SISTEMAS DEINFORMAÇÃO1

    11

    1SISTEMAS DEINFORMAÇÃO1

    1SISTEMAS DEINFORMAÇÃO1

    11

    1SISTEMAS DEINFORMAÇÃO11

    1SISTEMAS DEINFORMAÇÃO1

    11

    1SISTEMAS DEINFORMAÇÃO1

    1SISTEMAS DEINFORMAÇÃO1

    11

    1SISTEMAS DEINFORMAÇÃO1

    11

    1SISTEMAS DEINFORMAÇÃO1

    1SISTEMAS DEINFORMAÇÃO1

    11

    1SISTEMAS DEINFORMAÇÃO1

    11

    Professoras:

    Ariane Machado Lima

    Fátima L. S. Nunes

  • Interface

    • O que significa?

    SISTEMAS DEINFORMAÇÃO

    2

    22

    2SISTEMAS DEINFORMAÇÃO2

    22

    2SISTEMAS DEINFORMAÇÃO2

    2SISTEMAS DEINFORMAÇÃO2

    22

    2SISTEMAS DEINFORMAÇÃO2

    22

    2SISTEMAS DEINFORMAÇÃO2

    2SISTEMAS DEINFORMAÇÃO2

    22

    SISTEMAS DEINFORMAÇÃO

    2

    22

    2 2SISTEMAS DEINFORMAÇÃO

    2

    22

    2SISTEMAS DEINFORMAÇÃO2

    2SISTEMAS DEINFORMAÇÃO2

    22

    2SISTEMAS DEINFORMAÇÃO2

    22

    2SISTEMAS DEINFORMAÇÃO2

    2SISTEMAS DEINFORMAÇÃO2

    22

    2SISTEMAS DEINFORMAÇÃO22

    2SISTEMAS DEINFORMAÇÃO2

    22

    2SISTEMAS DEINFORMAÇÃO2

    2SISTEMAS DEINFORMAÇÃO2

    22

    2SISTEMAS DEINFORMAÇÃO2

    22

    2SISTEMAS DEINFORMAÇÃO2

    2SISTEMAS DEINFORMAÇÃO2

    22

    2SISTEMAS DEINFORMAÇÃO2

    22

  • Interface

    • Definição:

    s.f. Limite comum a dois corpos, sistemas, fases ou s.f. Limite comum a dois corpos, sistemas, fases ou espaços, que permite sua ação mútua ou intercomunicação ou trocas entre eles: interface produção-distribuição; interface gás-líquido. / Ponto em que interagem coisas diversas. / Informática

    Meio físico ou lógico através do qual um ou mais dispositivos ou sistemas incompatíveis

    SISTEMAS DEINFORMAÇÃO

    3

    33

    3SISTEMAS DEINFORMAÇÃO3

    33

    3SISTEMAS DEINFORMAÇÃO3

    3SISTEMAS DEINFORMAÇÃO3

    33

    3SISTEMAS DEINFORMAÇÃO3

    33

    3SISTEMAS DEINFORMAÇÃO3

    3SISTEMAS DEINFORMAÇÃO3

    33

    SISTEMAS DEINFORMAÇÃO

    3

    33

    3 3SISTEMAS DEINFORMAÇÃO

    3

    33

    3SISTEMAS DEINFORMAÇÃO3

    3SISTEMAS DEINFORMAÇÃO3

    33

    3SISTEMAS DEINFORMAÇÃO3

    33

    3SISTEMAS DEINFORMAÇÃO3

    3SISTEMAS DEINFORMAÇÃO3

    33

    3SISTEMAS DEINFORMAÇÃO33

    3SISTEMAS DEINFORMAÇÃO3

    33

    3SISTEMAS DEINFORMAÇÃO3

    3SISTEMAS DEINFORMAÇÃO3

    33

    3SISTEMAS DEINFORMAÇÃO3

    33

    3SISTEMAS DEINFORMAÇÃO3

    3SISTEMAS DEINFORMAÇÃO3

    33

    3SISTEMAS DEINFORMAÇÃO3

    33

    mais dispositivos ou sistemas incompatíveis conseguem comunicar-se entre si.

  • Interface

    SISTEMAS DEINFORMAÇÃO

    4

    44

    4SISTEMAS DEINFORMAÇÃO4

    44

    4SISTEMAS DEINFORMAÇÃO4

    4SISTEMAS DEINFORMAÇÃO4

    44

    4SISTEMAS DEINFORMAÇÃO4

    44

    4SISTEMAS DEINFORMAÇÃO4

    4SISTEMAS DEINFORMAÇÃO4

    44

    SISTEMAS DEINFORMAÇÃO

    4

    44

    4 4SISTEMAS DEINFORMAÇÃO

    4

    44

    4SISTEMAS DEINFORMAÇÃO4

    4SISTEMAS DEINFORMAÇÃO4

    44

    4SISTEMAS DEINFORMAÇÃO4

    44

    4SISTEMAS DEINFORMAÇÃO4

    4SISTEMAS DEINFORMAÇÃO4

    44

    4SISTEMAS DEINFORMAÇÃO44

    4SISTEMAS DEINFORMAÇÃO4

    44

    4SISTEMAS DEINFORMAÇÃO4

    4SISTEMAS DEINFORMAÇÃO4

    44

    4SISTEMAS DEINFORMAÇÃO4

    44

    4SISTEMAS DEINFORMAÇÃO4

    4SISTEMAS DEINFORMAÇÃO4

    44

    4SISTEMAS DEINFORMAÇÃO4

    44

  • Interface

    • O que é API (Application (Application Programming Interface) ?

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

    SISTEMAS DEINFORMAÇÃO

    5

    55

    5SISTEMAS DEINFORMAÇÃO5

    55

    5SISTEMAS DEINFORMAÇÃO5

    5SISTEMAS DEINFORMAÇÃO5

    55

    5SISTEMAS DEINFORMAÇÃO5

    55

    5SISTEMAS DEINFORMAÇÃO5

    5SISTEMAS DEINFORMAÇÃO5

    55

    SISTEMAS DEINFORMAÇÃO

    5

    55

    5 5SISTEMAS DEINFORMAÇÃO

    5

    55

    5SISTEMAS DEINFORMAÇÃO5

    5SISTEMAS DEINFORMAÇÃO5

    55

    5SISTEMAS DEINFORMAÇÃO5

    55

    5SISTEMAS DEINFORMAÇÃO5

    5SISTEMAS DEINFORMAÇÃO5

    55

    5SISTEMAS DEINFORMAÇÃO55

    5SISTEMAS DEINFORMAÇÃO5

    55

    5SISTEMAS DEINFORMAÇÃO5

    5SISTEMAS DEINFORMAÇÃO5

    55

    5SISTEMAS DEINFORMAÇÃO5

    55

    5SISTEMAS DEINFORMAÇÃO5

    5SISTEMAS DEINFORMAÇÃO5

    55

    5SISTEMAS DEINFORMAÇÃO5

    55

  • Interface

    • Encapsulamento ???

    SISTEMAS DEINFORMAÇÃO

    6

    66

    6SISTEMAS DEINFORMAÇÃO6

    66

    6SISTEMAS DEINFORMAÇÃO6

    6SISTEMAS DEINFORMAÇÃO6

    66

    6SISTEMAS DEINFORMAÇÃO6

    66

    6SISTEMAS DEINFORMAÇÃO6

    6SISTEMAS DEINFORMAÇÃO6

    66

    SISTEMAS DEINFORMAÇÃO

    6

    66

    6 6SISTEMAS DEINFORMAÇÃO

    6

    66

    6SISTEMAS DEINFORMAÇÃO6

    6SISTEMAS DEINFORMAÇÃO6

    66

    6SISTEMAS DEINFORMAÇÃO6

    66

    6SISTEMAS DEINFORMAÇÃO6

    6SISTEMAS DEINFORMAÇÃO6

    66

    6SISTEMAS DEINFORMAÇÃO66

    6SISTEMAS DEINFORMAÇÃO6

    66

    6SISTEMAS DEINFORMAÇÃO6

    6SISTEMAS DEINFORMAÇÃO6

    66

    6SISTEMAS DEINFORMAÇÃO6

    66

    6SISTEMAS DEINFORMAÇÃO6

    6SISTEMAS DEINFORMAÇÃO6

    66

    6SISTEMAS DEINFORMAÇÃO6

    66

  • Interface• Encapsulamento:

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

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

    • Interface = métodos disponíveis + suas

    SISTEMAS DEINFORMAÇÃO

    7

    77

    7SISTEMAS DEINFORMAÇÃO7

    77

    7SISTEMAS DEINFORMAÇÃO7

    7SISTEMAS DEINFORMAÇÃO7

    77

    7SISTEMAS DEINFORMAÇÃO7

    77

    7SISTEMAS DEINFORMAÇÃO7

    7SISTEMAS DEINFORMAÇÃO7

    77

    SISTEMAS DEINFORMAÇÃO

    7

    77

    7 7SISTEMAS DEINFORMAÇÃO

    7

    77

    7SISTEMAS DEINFORMAÇÃO7

    7SISTEMAS DEINFORMAÇÃO7

    77

    7SISTEMAS DEINFORMAÇÃO7

    77

    7SISTEMAS DEINFORMAÇÃO7

    7SISTEMAS DEINFORMAÇÃO7

    77

    7SISTEMAS DEINFORMAÇÃO77

    7SISTEMAS DEINFORMAÇÃO7

    77

    7SISTEMAS DEINFORMAÇÃO7

    7SISTEMAS DEINFORMAÇÃO7

    77

    7SISTEMAS DEINFORMAÇÃO7

    77

    7SISTEMAS DEINFORMAÇÃO7

    7SISTEMAS DEINFORMAÇÃO7

    77

    7SISTEMAS DEINFORMAÇÃO7

    77

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

  • Interface• Interface:

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

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

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

    SISTEMAS DEINFORMAÇÃO

    8

    88

    8SISTEMAS DEINFORMAÇÃO8

    88

    8SISTEMAS DEINFORMAÇÃO8

    8SISTEMAS DEINFORMAÇÃO8

    88

    8SISTEMAS DEINFORMAÇÃO8

    88

    8SISTEMAS DEINFORMAÇÃO8

    8SISTEMAS DEINFORMAÇÃO8

    88

    SISTEMAS DEINFORMAÇÃO

    8

    88

    8 8SISTEMAS DEINFORMAÇÃO

    8

    88

    8SISTEMAS DEINFORMAÇÃO8

    8SISTEMAS DEINFORMAÇÃO8

    88

    8SISTEMAS DEINFORMAÇÃO8

    88

    8SISTEMAS DEINFORMAÇÃO8

    8SISTEMAS DEINFORMAÇÃO8

    88

    8SISTEMAS DEINFORMAÇÃO88

    8SISTEMAS DEINFORMAÇÃO8

    88

    8SISTEMAS DEINFORMAÇÃO8

    8SISTEMAS DEINFORMAÇÃO8

    88

    8SISTEMAS DEINFORMAÇÃO8

    88

    8SISTEMAS DEINFORMAÇÃO8

    8SISTEMAS DEINFORMAÇÃO8

    88

    8SISTEMAS DEINFORMAÇÃO8

    88

    executar) sem ter que implementá-la

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

  • class ComunidadeAcademica

    {

    Pessoa [] comunidade = new Pessoa [5000];

    int nrPessoas = 0;

    void inserePessoa(Pessoa p) {

    comunidade[nrPessoas] = p;

    nrPessoas++;

    Neste exemplo, quemétodos Pessoa nrPessoas++;

    }

    Pessoa buscaPessoa (int nrUsp) {

    int i = 0;

    while (i < nrPessoas){

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

    return comunidade[i];

    i++;

    }

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

    métodos Pessoa deveria saber executar?

    SISTEMAS DEINFORMAÇÃO

    9

    99

    9SISTEMAS DEINFORMAÇÃO9

    99

    9SISTEMAS DEINFORMAÇÃO9

    9SISTEMAS DEINFORMAÇÃO9

    99

    9SISTEMAS DEINFORMAÇÃO9

    99

    9SISTEMAS DEINFORMAÇÃO9

    9SISTEMAS DEINFORMAÇÃO9

    99

    SISTEMAS DEINFORMAÇÃO

    9

    99

    9 9SISTEMAS DEINFORMAÇÃO

    9

    99

    9SISTEMAS DEINFORMAÇÃO9

    9SISTEMAS DEINFORMAÇÃO9

    99

    9SISTEMAS DEINFORMAÇÃO9

    99

    9SISTEMAS DEINFORMAÇÃO9

    9SISTEMAS DEINFORMAÇÃO9

    99

    9SISTEMAS DEINFORMAÇÃO99

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

    return null;

    }void imprimeDados(){

    for (int i=0; i

  • class ComunidadeAcademica

    {

    Pessoa [] comunidade = new Pessoa [5000];

    int nrPessoas = 0;

    void inserePessoa(Pessoa p) {

    comunidade[nrPessoas] = p;

    nrPessoas++;

    Neste exemplo, quemétodos Pessoa nrPessoas++;

    }

    Pessoa buscaPessoa (int nrUsp) {

    int i = 0;

    while (i < nrPessoas){

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

    return comunidade[i];

    i++;

    }

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

    métodos Pessoa deveria saber executar?

    SISTEMAS DEINFORMAÇÃO

    10

    1010

    10SISTEMAS DEINFORMAÇÃO10

    1010

    10SISTEMAS DEINFORMAÇÃO10

    10SISTEMAS DEINFORMAÇÃO10

    1010

    10SISTEMAS DEINFORMAÇÃO10

    1010

    10SISTEMAS DEINFORMAÇÃO10

    10SISTEMAS DEINFORMAÇÃO10

    1010

    SISTEMAS DEINFORMAÇÃO

    10

    1010

    10 10SISTEMAS DEINFORMAÇÃO

    10

    1010

    10SISTEMAS DEINFORMAÇÃO10

    10SISTEMAS DEINFORMAÇÃO10

    1010

    10SISTEMAS DEINFORMAÇÃO10

    1010

    10SISTEMAS DEINFORMAÇÃO10

    10SISTEMAS DEINFORMAÇÃO10

    1010

    10SISTEMAS DEINFORMAÇÃO1010

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

    return null;

    }void imprimeDados(){

    for (int i=0; i

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

    • Vários tipos de animais

    • Mensagens para cada animal:

    • nasça()

    • passeiePelaTela()

    • durma()

    SISTEMAS DEINFORMAÇÃO

    11

    1111

    11SISTEMAS DEINFORMAÇÃO11

    1111

    11SISTEMAS DEINFORMAÇÃO11

    11SISTEMAS DEINFORMAÇÃO11

    1111

    11SISTEMAS DEINFORMAÇÃO11

    1111

    11SISTEMAS DEINFORMAÇÃO11

    11SISTEMAS DEINFORMAÇÃO11

    1111

    SISTEMAS DEINFORMAÇÃO

    11

    1111

    11 11SISTEMAS DEINFORMAÇÃO

    11

    1111

    11SISTEMAS DEINFORMAÇÃO11

    11SISTEMAS DEINFORMAÇÃO11

    1111

    11SISTEMAS DEINFORMAÇÃO11

    1111

    11SISTEMAS DEINFORMAÇÃO11

    11SISTEMAS DEINFORMAÇÃO11

    1111

    11SISTEMAS DEINFORMAÇÃO1111

    11SISTEMAS DEINFORMAÇÃO11

    1111

    11SISTEMAS DEINFORMAÇÃO11

    11SISTEMAS DEINFORMAÇÃO11

    1111

    11SISTEMAS DEINFORMAÇÃO11

    1111

    11SISTEMAS DEINFORMAÇÃO11

    11SISTEMAS DEINFORMAÇÃO11

    1111

    11SISTEMAS DEINFORMAÇÃO11

    1111

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

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

    • Como um morcego nasce?

    • Como uma zebra dorme?

    • Como um pato anda?

    SISTEMAS DEINFORMAÇÃO

    12

    1212

    12SISTEMAS DEINFORMAÇÃO12

    1212

    12SISTEMAS DEINFORMAÇÃO12

    12SISTEMAS DEINFORMAÇÃO12

    1212

    12SISTEMAS DEINFORMAÇÃO12

    1212

    12SISTEMAS DEINFORMAÇÃO12

    12SISTEMAS DEINFORMAÇÃO12

    1212

    SISTEMAS DEINFORMAÇÃO

    12

    1212

    12 12SISTEMAS DEINFORMAÇÃO

    12

    1212

    12SISTEMAS DEINFORMAÇÃO12

    12SISTEMAS DEINFORMAÇÃO12

    1212

    12SISTEMAS DEINFORMAÇÃO12

    1212

    12SISTEMAS DEINFORMAÇÃO12

    12SISTEMAS DEINFORMAÇÃO12

    1212

    12SISTEMAS DEINFORMAÇÃO1212

    12SISTEMAS DEINFORMAÇÃO12

    1212

    12SISTEMAS DEINFORMAÇÃO12

    12SISTEMAS DEINFORMAÇÃO12

    1212

    12SISTEMAS DEINFORMAÇÃO12

    1212

    12SISTEMAS DEINFORMAÇÃO12

    12SISTEMAS DEINFORMAÇÃO12

    1212

    12SISTEMAS DEINFORMAÇÃO12

    1212

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

    • Como fazer ???

    SISTEMAS DEINFORMAÇÃO

    13

    1313

    13SISTEMAS DEINFORMAÇÃO13

    1313

    13SISTEMAS DEINFORMAÇÃO13

    13SISTEMAS DEINFORMAÇÃO13

    1313

    13SISTEMAS DEINFORMAÇÃO13

    1313

    13SISTEMAS DEINFORMAÇÃO13

    13SISTEMAS DEINFORMAÇÃO13

    1313

    SISTEMAS DEINFORMAÇÃO

    13

    1313

    13 13SISTEMAS DEINFORMAÇÃO

    13

    1313

    13SISTEMAS DEINFORMAÇÃO13

    13SISTEMAS DEINFORMAÇÃO13

    1313

    13SISTEMAS DEINFORMAÇÃO13

    1313

    13SISTEMAS DEINFORMAÇÃO13

    13SISTEMAS DEINFORMAÇÃO13

    1313

    13SISTEMAS DEINFORMAÇÃO1313

    13SISTEMAS DEINFORMAÇÃO13

    1313

    13SISTEMAS DEINFORMAÇÃO13

    13SISTEMAS DEINFORMAÇÃO13

    1313

    13SISTEMAS DEINFORMAÇÃO13

    1313

    13SISTEMAS DEINFORMAÇÃO13

    13SISTEMAS DEINFORMAÇÃO13

    1313

    13SISTEMAS DEINFORMAÇÃO13

    1313

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

    • Como fazer ???

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

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

    SISTEMAS DEINFORMAÇÃO

    14

    1414

    14SISTEMAS DEINFORMAÇÃO14

    1414

    14SISTEMAS DEINFORMAÇÃO14

    14SISTEMAS DEINFORMAÇÃO14

    1414

    14SISTEMAS DEINFORMAÇÃO14

    1414

    14SISTEMAS DEINFORMAÇÃO14

    14SISTEMAS DEINFORMAÇÃO14

    1414

    SISTEMAS DEINFORMAÇÃO

    14

    1414

    14 14SISTEMAS DEINFORMAÇÃO

    14

    1414

    14SISTEMAS DEINFORMAÇÃO14

    14SISTEMAS DEINFORMAÇÃO14

    1414

    14SISTEMAS DEINFORMAÇÃO14

    1414

    14SISTEMAS DEINFORMAÇÃO14

    14SISTEMAS DEINFORMAÇÃO14

    1414

    14SISTEMAS DEINFORMAÇÃO1414

    14SISTEMAS DEINFORMAÇÃO14

    1414

    14SISTEMAS DEINFORMAÇÃO14

    14SISTEMAS DEINFORMAÇÃO14

    1414

    14SISTEMAS DEINFORMAÇÃO14

    1414

    14SISTEMAS DEINFORMAÇÃO14

    14SISTEMAS DEINFORMAÇÃO14

    1414

    14SISTEMAS DEINFORMAÇÃO14

    1414

    • Então...

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

    interface Animal

    {{

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    SISTEMAS DEINFORMAÇÃO

    15

    1515

    15SISTEMAS DEINFORMAÇÃO15

    1515

    15SISTEMAS DEINFORMAÇÃO15

    15SISTEMAS DEINFORMAÇÃO15

    1515

    15SISTEMAS DEINFORMAÇÃO15

    1515

    15SISTEMAS DEINFORMAÇÃO15

    15SISTEMAS DEINFORMAÇÃO15

    1515

    SISTEMAS DEINFORMAÇÃO

    15

    1515

    15 15SISTEMAS DEINFORMAÇÃO

    15

    1515

    15SISTEMAS DEINFORMAÇÃO15

    15SISTEMAS DEINFORMAÇÃO15

    1515

    15SISTEMAS DEINFORMAÇÃO15

    1515

    15SISTEMAS DEINFORMAÇÃO15

    15SISTEMAS DEINFORMAÇÃO15

    1515

    15SISTEMAS DEINFORMAÇÃO1515

    15SISTEMAS DEINFORMAÇÃO15

    1515

    15SISTEMAS DEINFORMAÇÃO15

    15SISTEMAS DEINFORMAÇÃO15

    1515

    15SISTEMAS DEINFORMAÇÃO15

    1515

    15SISTEMAS DEINFORMAÇÃO15

    15SISTEMAS DEINFORMAÇÃO15

    1515

    15SISTEMAS DEINFORMAÇÃO15

    1515

    }

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

    interface Animal

    {{

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    SISTEMAS DEINFORMAÇÃO

    16

    1616

    16SISTEMAS DEINFORMAÇÃO16

    1616

    16SISTEMAS DEINFORMAÇÃO16

    16SISTEMAS DEINFORMAÇÃO16

    1616

    16SISTEMAS DEINFORMAÇÃO16

    1616

    16SISTEMAS DEINFORMAÇÃO16

    16SISTEMAS DEINFORMAÇÃO16

    1616

    SISTEMAS DEINFORMAÇÃO

    16

    1616

    16 16SISTEMAS DEINFORMAÇÃO

    16

    1616

    16SISTEMAS DEINFORMAÇÃO16

    16SISTEMAS DEINFORMAÇÃO16

    1616

    16SISTEMAS DEINFORMAÇÃO16

    1616

    16SISTEMAS DEINFORMAÇÃO16

    16SISTEMAS DEINFORMAÇÃO16

    1616

    16SISTEMAS DEINFORMAÇÃO1616

    16SISTEMAS DEINFORMAÇÃO16

    1616

    16SISTEMAS DEINFORMAÇÃO16

    16SISTEMAS DEINFORMAÇÃO16

    1616

    16SISTEMAS DEINFORMAÇÃO16

    1616

    16SISTEMAS DEINFORMAÇÃO16

    16SISTEMAS DEINFORMAÇÃO16

    1616

    16SISTEMAS DEINFORMAÇÃO16

    1616

    }

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

    interface Animal

    {{

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    O programador que vai implementar a

    classe Morcego deve declarar

    explicitamente que vai usar a interface Animal ⇨ palavra chave implements

    SISTEMAS DEINFORMAÇÃO

    17

    1717

    17SISTEMAS DEINFORMAÇÃO17

    1717

    17SISTEMAS DEINFORMAÇÃO17

    17SISTEMAS DEINFORMAÇÃO17

    1717

    17SISTEMAS DEINFORMAÇÃO17

    1717

    17SISTEMAS DEINFORMAÇÃO17

    17SISTEMAS DEINFORMAÇÃO17

    1717

    SISTEMAS DEINFORMAÇÃO

    17

    1717

    17 17SISTEMAS DEINFORMAÇÃO

    17

    1717

    17SISTEMAS DEINFORMAÇÃO17

    17SISTEMAS DEINFORMAÇÃO17

    1717

    17SISTEMAS DEINFORMAÇÃO17

    1717

    17SISTEMAS DEINFORMAÇÃO17

    17SISTEMAS DEINFORMAÇÃO17

    1717

    17SISTEMAS DEINFORMAÇÃO1717

    17SISTEMAS DEINFORMAÇÃO17

    1717

    17SISTEMAS DEINFORMAÇÃO17

    17SISTEMAS DEINFORMAÇÃO17

    1717

    17SISTEMAS DEINFORMAÇÃO17

    1717

    17SISTEMAS DEINFORMAÇÃO17

    17SISTEMAS DEINFORMAÇÃO17

    1717

    17SISTEMAS DEINFORMAÇÃO17

    1717

    }

  • Interfaceinterface Animal

    {

    public class Morcego implements Animal{

    public void nasça() {

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

    void passeiePelaTela();

    void durma();

    double peso();

    }

    System.out.println("Nasceu um morceguinho...");}

    public void passeiePelaTela() {

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

    public void durma() {

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

    SISTEMAS DEINFORMAÇÃO

    18

    1818

    18SISTEMAS DEINFORMAÇÃO18

    1818

    18SISTEMAS DEINFORMAÇÃO18

    18SISTEMAS DEINFORMAÇÃO18

    1818

    18SISTEMAS DEINFORMAÇÃO18

    1818

    18SISTEMAS DEINFORMAÇÃO18

    18SISTEMAS DEINFORMAÇÃO18

    1818

    SISTEMAS DEINFORMAÇÃO

    18

    1818

    18 18SISTEMAS DEINFORMAÇÃO

    18

    1818

    18SISTEMAS DEINFORMAÇÃO18

    18SISTEMAS DEINFORMAÇÃO18

    1818

    18SISTEMAS DEINFORMAÇÃO18

    1818

    18SISTEMAS DEINFORMAÇÃO18

    18SISTEMAS DEINFORMAÇÃO18

    1818

    18SISTEMAS DEINFORMAÇÃO1818

    18SISTEMAS DEINFORMAÇÃO18

    1818

    18SISTEMAS DEINFORMAÇÃO18

    18SISTEMAS DEINFORMAÇÃO18

    1818

    18SISTEMAS DEINFORMAÇÃO18

    1818

    18SISTEMAS DEINFORMAÇÃO18

    18SISTEMAS DEINFORMAÇÃO18

    1818

    18SISTEMAS DEINFORMAÇÃO18

    1818

    } }

    public double peso() {

    System.out.println("Este é um morcego gordo!");return (4.5);

    }

    }

  • Interfacepublic class Morcego implements Animal{

    public void nasça() {

    System.out.println(“Nasceu um morceguinho...”);

    interface Animal

    {System.out.println(“Nasceu um morceguinho...”);

    }

    public passeioPelaTela() {

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

    public durma() {

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

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

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    }

    SISTEMAS DEINFORMAÇÃO

    19

    1919

    19SISTEMAS DEINFORMAÇÃO19

    1919

    19SISTEMAS DEINFORMAÇÃO19

    19SISTEMAS DEINFORMAÇÃO19

    1919

    19SISTEMAS DEINFORMAÇÃO19

    1919

    19SISTEMAS DEINFORMAÇÃO19

    19SISTEMAS DEINFORMAÇÃO19

    1919

    SISTEMAS DEINFORMAÇÃO

    19

    1919

    19 19SISTEMAS DEINFORMAÇÃO

    19

    1919

    19SISTEMAS DEINFORMAÇÃO19

    19SISTEMAS DEINFORMAÇÃO19

    1919

    19SISTEMAS DEINFORMAÇÃO19

    1919

    19SISTEMAS DEINFORMAÇÃO19

    19SISTEMAS DEINFORMAÇÃO19

    1919

    19SISTEMAS DEINFORMAÇÃO1919

    19SISTEMAS DEINFORMAÇÃO19

    1919

    19SISTEMAS DEINFORMAÇÃO19

    19SISTEMAS DEINFORMAÇÃO19

    1919

    19SISTEMAS DEINFORMAÇÃO19

    1919

    19SISTEMAS DEINFORMAÇÃO19

    19SISTEMAS DEINFORMAÇÃO19

    1919

    19SISTEMAS DEINFORMAÇÃO19

    1919

    }

    double peso() {

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

    }

    }

    devem ser públicos. Por quê?}

  • Interfacepublic class Morcego implements Animal{

    public void nasça() {

    System.out.println(“Nasceu um morceguinho...”);

    interface Animal

    {System.out.println(“Nasceu um morceguinho...”);

    }

    public passeioPelaTela() {

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

    public durma() {

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

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

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    }

    SISTEMAS DEINFORMAÇÃO

    20

    2020

    20SISTEMAS DEINFORMAÇÃO20

    2020

    20SISTEMAS DEINFORMAÇÃO20

    20SISTEMAS DEINFORMAÇÃO20

    2020

    20SISTEMAS DEINFORMAÇÃO20

    2020

    20SISTEMAS DEINFORMAÇÃO20

    20SISTEMAS DEINFORMAÇÃO20

    2020

    SISTEMAS DEINFORMAÇÃO

    20

    2020

    20 20SISTEMAS DEINFORMAÇÃO

    20

    2020

    20SISTEMAS DEINFORMAÇÃO20

    20SISTEMAS DEINFORMAÇÃO20

    2020

    20SISTEMAS DEINFORMAÇÃO20

    2020

    20SISTEMAS DEINFORMAÇÃO20

    20SISTEMAS DEINFORMAÇÃO20

    2020

    20SISTEMAS DEINFORMAÇÃO2020

    20SISTEMAS DEINFORMAÇÃO20

    2020

    20SISTEMAS DEINFORMAÇÃO20

    20SISTEMAS DEINFORMAÇÃO20

    2020

    20SISTEMAS DEINFORMAÇÃO20

    2020

    20SISTEMAS DEINFORMAÇÃO20

    20SISTEMAS DEINFORMAÇÃO20

    2020

    20SISTEMAS DEINFORMAÇÃO20

    2020

    }

    double peso() {

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

    }

    }

    devem ser públicos.}

    Não definimos especificadores de acesso na interface,

    pelo mesmo motivo.

  • Interfacepublic class Pato implements Animal{

    public double peso;

    Pato(double p) {

    interface Animal

    {

    {peso = p;

    }

    public void nasça() {

    System.out.println("Quebra o ovo.");}

    public void passeiePelaTela() {

    System.out.println("Anda em duas patas. Quá Quá Quá.");}

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    }

    SISTEMAS DEINFORMAÇÃO

    21

    2121

    21SISTEMAS DEINFORMAÇÃO21

    2121

    21SISTEMAS DEINFORMAÇÃO21

    21SISTEMAS DEINFORMAÇÃO21

    2121

    21SISTEMAS DEINFORMAÇÃO21

    2121

    21SISTEMAS DEINFORMAÇÃO21

    21SISTEMAS DEINFORMAÇÃO21

    2121

    SISTEMAS DEINFORMAÇÃO

    21

    2121

    21 21SISTEMAS DEINFORMAÇÃO

    21

    2121

    21SISTEMAS DEINFORMAÇÃO21

    21SISTEMAS DEINFORMAÇÃO21

    2121

    21SISTEMAS DEINFORMAÇÃO21

    2121

    21SISTEMAS DEINFORMAÇÃO21

    21SISTEMAS DEINFORMAÇÃO21

    2121

    21SISTEMAS DEINFORMAÇÃO2121

    21SISTEMAS DEINFORMAÇÃO21

    2121

    21SISTEMAS DEINFORMAÇÃO21

    21SISTEMAS DEINFORMAÇÃO21

    2121

    21SISTEMAS DEINFORMAÇÃO21

    2121

    21SISTEMAS DEINFORMAÇÃO21

    21SISTEMAS DEINFORMAÇÃO21

    2121

    21SISTEMAS DEINFORMAÇÃO21

    2121

    public void durma() {

    System.out.println("Dorme em pé.");}

    public double peso() {

    return peso;}

    }

    }

  • Interface public class Zebra implements Animal{double peso;int listras;

    Zebra(double p, int l) {

    peso = p;listras =l;

    }

    interface Animal

    {

    public void nasça() {

    System.out.println("Zebrinha bebê nascendo...");}

    public void passeiePelaTela() {

    System.out.println("Zebra galopa pela tela.");}

    public void durma() {

    System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");}

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    }

    SISTEMAS DEINFORMAÇÃO

    22

    2222

    22SISTEMAS DEINFORMAÇÃO22

    2222

    22SISTEMAS DEINFORMAÇÃO22

    22SISTEMAS DEINFORMAÇÃO22

    2222

    22SISTEMAS DEINFORMAÇÃO22

    2222

    22SISTEMAS DEINFORMAÇÃO22

    22SISTEMAS DEINFORMAÇÃO22

    2222

    SISTEMAS DEINFORMAÇÃO

    22

    2222

    22 22SISTEMAS DEINFORMAÇÃO

    22

    2222

    22SISTEMAS DEINFORMAÇÃO22

    22SISTEMAS DEINFORMAÇÃO22

    2222

    22SISTEMAS DEINFORMAÇÃO22

    2222

    22SISTEMAS DEINFORMAÇÃO22

    22SISTEMAS DEINFORMAÇÃO22

    2222

    22SISTEMAS DEINFORMAÇÃO2222

    22SISTEMAS DEINFORMAÇÃO22

    2222

    22SISTEMAS DEINFORMAÇÃO22

    22SISTEMAS DEINFORMAÇÃO22

    2222

    22SISTEMAS DEINFORMAÇÃO22

    2222

    22SISTEMAS DEINFORMAÇÃO22

    22SISTEMAS DEINFORMAÇÃO22

    2222

    22SISTEMAS DEINFORMAÇÃO22

    2222

    public double peso() {

    return peso;}

    public void exibeListras() {

    System.out.println("Minha zebra tem " + listras + "listras.");}

    }

    }

  • Interface public class Zebra implements Animal{double peso;int listras;

    Zebra(double p, int l) {

    peso = p;listras =l;

    }

    interface Animal

    {

    public void nasça() {

    System.out.println("Zebrinha bebê nascendo...");}

    public void passeiePelaTela() {

    System.out.println("Zebra galopa pela tela.");}

    public void durma() {

    System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");}

    Pode ter métodos extras (específicos

    da classe)

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    }

    SISTEMAS DEINFORMAÇÃO

    23

    2323

    23SISTEMAS DEINFORMAÇÃO23

    2323

    23SISTEMAS DEINFORMAÇÃO23

    23SISTEMAS DEINFORMAÇÃO23

    2323

    23SISTEMAS DEINFORMAÇÃO23

    2323

    23SISTEMAS DEINFORMAÇÃO23

    23SISTEMAS DEINFORMAÇÃO23

    2323

    SISTEMAS DEINFORMAÇÃO

    23

    2323

    23 23SISTEMAS DEINFORMAÇÃO

    23

    2323

    23SISTEMAS DEINFORMAÇÃO23

    23SISTEMAS DEINFORMAÇÃO23

    2323

    23SISTEMAS DEINFORMAÇÃO23

    2323

    23SISTEMAS DEINFORMAÇÃO23

    23SISTEMAS DEINFORMAÇÃO23

    2323

    23SISTEMAS DEINFORMAÇÃO2323

    23SISTEMAS DEINFORMAÇÃO23

    2323

    23SISTEMAS DEINFORMAÇÃO23

    23SISTEMAS DEINFORMAÇÃO23

    2323

    23SISTEMAS DEINFORMAÇÃO23

    2323

    23SISTEMAS DEINFORMAÇÃO23

    23SISTEMAS DEINFORMAÇÃO23

    2323

    23SISTEMAS DEINFORMAÇÃO23

    2323

    public double peso() {

    return peso;}

    public void exibeListras() {

    System.out.println("Minha zebra tem " + listras + "listras.");}

    }

    }

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

    • normalmente cada classe vai em um arquivo .java de mesmo nome da classe, mas isto não é obrigatório;nome da classe, mas isto não é obrigatório;

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

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

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

    SISTEMAS DEINFORMAÇÃO

    24

    2424

    24SISTEMAS DEINFORMAÇÃO24

    2424

    24SISTEMAS DEINFORMAÇÃO24

    24SISTEMAS DEINFORMAÇÃO24

    2424

    24SISTEMAS DEINFORMAÇÃO24

    2424

    24SISTEMAS DEINFORMAÇÃO24

    24SISTEMAS DEINFORMAÇÃO24

    2424

    SISTEMAS DEINFORMAÇÃO

    24

    2424

    24 24SISTEMAS DEINFORMAÇÃO

    24

    2424

    24SISTEMAS DEINFORMAÇÃO24

    24SISTEMAS DEINFORMAÇÃO24

    2424

    24SISTEMAS DEINFORMAÇÃO24

    2424

    24SISTEMAS DEINFORMAÇÃO24

    24SISTEMAS DEINFORMAÇÃO24

    2424

    24SISTEMAS DEINFORMAÇÃO2424

    24SISTEMAS DEINFORMAÇÃO24

    2424

    24SISTEMAS DEINFORMAÇÃO24

    24SISTEMAS DEINFORMAÇÃO24

    2424

    24SISTEMAS DEINFORMAÇÃO24

    2424

    24SISTEMAS DEINFORMAÇÃO24

    24SISTEMAS DEINFORMAÇÃO24

    2424

    24SISTEMAS DEINFORMAÇÃO24

    2424

    devem obrigatoriamente estar em arquivos separados;

  • Interface• Observação sobre interfaces:

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

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

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

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

    SISTEMAS DEINFORMAÇÃO

    25

    2525

    25SISTEMAS DEINFORMAÇÃO25

    2525

    25SISTEMAS DEINFORMAÇÃO25

    25SISTEMAS DEINFORMAÇÃO25

    2525

    25SISTEMAS DEINFORMAÇÃO25

    2525

    25SISTEMAS DEINFORMAÇÃO25

    25SISTEMAS DEINFORMAÇÃO25

    2525

    SISTEMAS DEINFORMAÇÃO

    25

    2525

    25 25SISTEMAS DEINFORMAÇÃO

    25

    2525

    25SISTEMAS DEINFORMAÇÃO25

    25SISTEMAS DEINFORMAÇÃO25

    2525

    25SISTEMAS DEINFORMAÇÃO25

    2525

    25SISTEMAS DEINFORMAÇÃO25

    25SISTEMAS DEINFORMAÇÃO25

    2525

    25SISTEMAS DEINFORMAÇÃO2525

    25SISTEMAS DEINFORMAÇÃO25

    2525

    25SISTEMAS DEINFORMAÇÃO25

    25SISTEMAS DEINFORMAÇÃO25

    2525

    25SISTEMAS DEINFORMAÇÃO25

    2525

    25SISTEMAS DEINFORMAÇÃO25

    25SISTEMAS DEINFORMAÇÃO25

    2525

    25SISTEMAS DEINFORMAÇÃO25

    2525

    TAMBÉM DEFINE UM TIPO);

    • Vamos usar as classes criadas…

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela(); O que significa?animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);Animal zebraGrande = new Zebra(230,160);Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);

    O que significa?

    SISTEMAS DEINFORMAÇÃO

    26

    2626

    26SISTEMAS DEINFORMAÇÃO26

    2626

    26SISTEMAS DEINFORMAÇÃO26

    26SISTEMAS DEINFORMAÇÃO26

    2626

    26SISTEMAS DEINFORMAÇÃO26

    2626

    26SISTEMAS DEINFORMAÇÃO26

    26SISTEMAS DEINFORMAÇÃO26

    2626

    SISTEMAS DEINFORMAÇÃO

    26

    2626

    26 26SISTEMAS DEINFORMAÇÃO

    26

    2626

    26SISTEMAS DEINFORMAÇÃO26

    26SISTEMAS DEINFORMAÇÃO26

    2626

    26SISTEMAS DEINFORMAÇÃO26

    2626

    26SISTEMAS DEINFORMAÇÃO26

    26SISTEMAS DEINFORMAÇÃO26

    2626

    26SISTEMAS DEINFORMAÇÃO2626

    26SISTEMAS DEINFORMAÇÃO26

    2626

    26SISTEMAS DEINFORMAÇÃO26

    26SISTEMAS DEINFORMAÇÃO26

    2626

    26SISTEMAS DEINFORMAÇÃO26

    2626

    26SISTEMAS DEINFORMAÇÃO26

    26SISTEMAS DEINFORMAÇÃO26

    2626

    26SISTEMAS DEINFORMAÇÃO26

    2626

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela(); O que significa?animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);Animal zebraGrande = new Zebra(230,160);Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);

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

    SISTEMAS DEINFORMAÇÃO

    27

    2727

    27SISTEMAS DEINFORMAÇÃO27

    2727

    27SISTEMAS DEINFORMAÇÃO27

    27SISTEMAS DEINFORMAÇÃO27

    2727

    27SISTEMAS DEINFORMAÇÃO27

    2727

    27SISTEMAS DEINFORMAÇÃO27

    27SISTEMAS DEINFORMAÇÃO27

    2727

    SISTEMAS DEINFORMAÇÃO

    27

    2727

    27 27SISTEMAS DEINFORMAÇÃO

    27

    2727

    27SISTEMAS DEINFORMAÇÃO27

    27SISTEMAS DEINFORMAÇÃO27

    2727

    27SISTEMAS DEINFORMAÇÃO27

    2727

    27SISTEMAS DEINFORMAÇÃO27

    27SISTEMAS DEINFORMAÇÃO27

    2727

    27SISTEMAS DEINFORMAÇÃO2727

    27SISTEMAS DEINFORMAÇÃO27

    2727

    27SISTEMAS DEINFORMAÇÃO27

    27SISTEMAS DEINFORMAÇÃO27

    2727

    27SISTEMAS DEINFORMAÇÃO27

    2727

    27SISTEMAS DEINFORMAÇÃO27

    27SISTEMAS DEINFORMAÇÃO27

    2727

    27SISTEMAS DEINFORMAÇÃO27

    2727

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();

    > Zoologico.fazFuncionar() Zebrinha bebê nascendo...Zebra galopa pela tela.

    Zebra dorme sem roncar.... animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);Animal zebraGrande = new Zebra(230,160);Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);

    Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...Zebrinha bebê nascendo...

    Zebra galopa pela tela.Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...

    Nasceu um morceguinho...Voo rápido e rasante !!!Dorme de cabeça para baixo.

    SISTEMAS DEINFORMAÇÃO

    28

    2828

    28SISTEMAS DEINFORMAÇÃO28

    2828

    28SISTEMAS DEINFORMAÇÃO28

    28SISTEMAS DEINFORMAÇÃO28

    2828

    28SISTEMAS DEINFORMAÇÃO28

    2828

    28SISTEMAS DEINFORMAÇÃO28

    28SISTEMAS DEINFORMAÇÃO28

    2828

    SISTEMAS DEINFORMAÇÃO

    28

    2828

    28 28SISTEMAS DEINFORMAÇÃO

    28

    2828

    28SISTEMAS DEINFORMAÇÃO28

    28SISTEMAS DEINFORMAÇÃO28

    2828

    28SISTEMAS DEINFORMAÇÃO28

    2828

    28SISTEMAS DEINFORMAÇÃO28

    28SISTEMAS DEINFORMAÇÃO28

    2828

    28SISTEMAS DEINFORMAÇÃO2828

    28SISTEMAS DEINFORMAÇÃO28

    2828

    28SISTEMAS DEINFORMAÇÃO28

    28SISTEMAS DEINFORMAÇÃO28

    2828

    28SISTEMAS DEINFORMAÇÃO28

    2828

    28SISTEMAS DEINFORMAÇÃO28

    28SISTEMAS DEINFORMAÇÃO28

    2828

    28SISTEMAS DEINFORMAÇÃO28

    2828

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

    Dorme de cabeça para baixo.

    Quebra o ovo.Anda em duas patas. Quá Quá QuáDorme em pé

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);Animal zebraGrande = new Zebra(230,160);Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);

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

    SISTEMAS DEINFORMAÇÃO

    29

    2929

    29SISTEMAS DEINFORMAÇÃO29

    2929

    29SISTEMAS DEINFORMAÇÃO29

    29SISTEMAS DEINFORMAÇÃO29

    2929

    29SISTEMAS DEINFORMAÇÃO29

    2929

    29SISTEMAS DEINFORMAÇÃO29

    29SISTEMAS DEINFORMAÇÃO29

    2929

    SISTEMAS DEINFORMAÇÃO

    29

    2929

    29 29SISTEMAS DEINFORMAÇÃO

    29

    2929

    29SISTEMAS DEINFORMAÇÃO29

    29SISTEMAS DEINFORMAÇÃO29

    2929

    29SISTEMAS DEINFORMAÇÃO29

    2929

    29SISTEMAS DEINFORMAÇÃO29

    29SISTEMAS DEINFORMAÇÃO29

    2929

    29SISTEMAS DEINFORMAÇÃO2929

    29SISTEMAS DEINFORMAÇÃO29

    2929

    29SISTEMAS DEINFORMAÇÃO29

    29SISTEMAS DEINFORMAÇÃO29

    2929

    29SISTEMAS DEINFORMAÇÃO29

    2929

    29SISTEMAS DEINFORMAÇÃO29

    29SISTEMAS DEINFORMAÇÃO29

    2929

    29SISTEMAS DEINFORMAÇÃO29

    2929

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

  • public class Zebra implements Animal{

    double peso;int listras;

    Zebra(double p, int l) {

    peso = p;listras =l;

    }

    interface Animal

    {

    void nasça(); public void nasça() {

    System.out.println("Zebrinha bebê nascendo...");}

    public void passeiePelaTela() {

    System.out.println("Zebra galopa pela tela.");}

    public void durma() {

    System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");}

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    }

    SISTEMAS DEINFORMAÇÃO

    30

    3030

    30SISTEMAS DEINFORMAÇÃO30

    3030

    30SISTEMAS DEINFORMAÇÃO30

    30SISTEMAS DEINFORMAÇÃO30

    3030

    30SISTEMAS DEINFORMAÇÃO30

    3030

    30SISTEMAS DEINFORMAÇÃO30

    30SISTEMAS DEINFORMAÇÃO30

    3030

    SISTEMAS DEINFORMAÇÃO

    30

    3030

    30 30SISTEMAS DEINFORMAÇÃO

    30

    3030

    30SISTEMAS DEINFORMAÇÃO30

    30SISTEMAS DEINFORMAÇÃO30

    3030

    30SISTEMAS DEINFORMAÇÃO30

    3030

    30SISTEMAS DEINFORMAÇÃO30

    30SISTEMAS DEINFORMAÇÃO30

    3030

    30SISTEMAS DEINFORMAÇÃO3030

    30SISTEMAS DEINFORMAÇÃO30

    3030

    30SISTEMAS DEINFORMAÇÃO30

    30SISTEMAS DEINFORMAÇÃO30

    3030

    30SISTEMAS DEINFORMAÇÃO30

    3030

    30SISTEMAS DEINFORMAÇÃO30

    30SISTEMAS DEINFORMAÇÃO30

    3030

    30SISTEMAS DEINFORMAÇÃO30

    3030

    public double peso() {

    return peso;}

    public void exibeListras() {

    System.out.println("Minha zebra tem " + listras + "listras.");}

    }

  • public class Zebra implements Animal{

    double peso;int listras;

    Zebra(double p, int l) {

    peso = p;listras =l;

    }

    interface Animal

    {

    void nasça(); public void nasça() {

    System.out.println("Zebrinha bebê nascendo...");}

    public void passeiePelaTela() {

    System.out.println("Zebra galopa pela tela.");}

    public void durma() {

    System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");}

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    }

    SISTEMAS DEINFORMAÇÃO

    31

    3131

    31SISTEMAS DEINFORMAÇÃO31

    3131

    31SISTEMAS DEINFORMAÇÃO31

    31SISTEMAS DEINFORMAÇÃO31

    3131

    31SISTEMAS DEINFORMAÇÃO31

    3131

    31SISTEMAS DEINFORMAÇÃO31

    31SISTEMAS DEINFORMAÇÃO31

    3131

    SISTEMAS DEINFORMAÇÃO

    31

    3131

    31 31SISTEMAS DEINFORMAÇÃO

    31

    3131

    31SISTEMAS DEINFORMAÇÃO31

    31SISTEMAS DEINFORMAÇÃO31

    3131

    31SISTEMAS DEINFORMAÇÃO31

    3131

    31SISTEMAS DEINFORMAÇÃO31

    31SISTEMAS DEINFORMAÇÃO31

    3131

    31SISTEMAS DEINFORMAÇÃO3131

    31SISTEMAS DEINFORMAÇÃO31

    3131

    31SISTEMAS DEINFORMAÇÃO31

    31SISTEMAS DEINFORMAÇÃO31

    3131

    31SISTEMAS DEINFORMAÇÃO31

    3131

    31SISTEMAS DEINFORMAÇÃO31

    31SISTEMAS DEINFORMAÇÃO31

    3131

    31SISTEMAS DEINFORMAÇÃO31

    3131

    public double peso() {

    return peso;}

    public void exibeListras() {

    System.out.println("Minha zebra tem " + listras + "listras.");}

    }

  • public class Zebra implements Animal{

    double peso;int listras;

    Zebra(double p, int l) {

    peso = p;listras =l;

    }

    interface Animal

    {

    void nasça(); public void nasça() {

    System.out.println("Zebrinha bebê nascendo...");}

    public void passeiePelaTela() {

    System.out.println("Zebra galopa pela tela.");}

    public void durma() {

    System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");}

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    }

    SISTEMAS DEINFORMAÇÃO

    32

    3232

    32SISTEMAS DEINFORMAÇÃO32

    3232

    32SISTEMAS DEINFORMAÇÃO32

    32SISTEMAS DEINFORMAÇÃO32

    3232

    32SISTEMAS DEINFORMAÇÃO32

    3232

    32SISTEMAS DEINFORMAÇÃO32

    32SISTEMAS DEINFORMAÇÃO32

    3232

    SISTEMAS DEINFORMAÇÃO

    32

    3232

    32 32SISTEMAS DEINFORMAÇÃO

    32

    3232

    32SISTEMAS DEINFORMAÇÃO32

    32SISTEMAS DEINFORMAÇÃO32

    3232

    32SISTEMAS DEINFORMAÇÃO32

    3232

    32SISTEMAS DEINFORMAÇÃO32

    32SISTEMAS DEINFORMAÇÃO32

    3232

    32SISTEMAS DEINFORMAÇÃO3232

    32SISTEMAS DEINFORMAÇÃO32

    3232

    32SISTEMAS DEINFORMAÇÃO32

    32SISTEMAS DEINFORMAÇÃO32

    3232

    32SISTEMAS DEINFORMAÇÃO32

    3232

    32SISTEMAS DEINFORMAÇÃO32

    32SISTEMAS DEINFORMAÇÃO32

    3232

    32SISTEMAS DEINFORMAÇÃO32

    3232

    public double peso() {

    return peso;}

    public void exibeListras() {

    System.out.println("Minha zebra tem " + listras + "listras.");}

    }

  • public class Zebra implements Animal{

    double peso;int listras;

    Zebra(double p, int l) {

    peso = p;listras =l;

    }

    interface Animal

    {

    void nasça(); public void nasça() {

    System.out.println("Zebrinha bebê nascendo...");}

    public void passeiePelaTela() {

    System.out.println("Zebra galopa pela tela.");}

    public void durma() {

    System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");}

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    }

    SISTEMAS DEINFORMAÇÃO

    33

    3333

    33SISTEMAS DEINFORMAÇÃO33

    3333

    33SISTEMAS DEINFORMAÇÃO33

    33SISTEMAS DEINFORMAÇÃO33

    3333

    33SISTEMAS DEINFORMAÇÃO33

    3333

    33SISTEMAS DEINFORMAÇÃO33

    33SISTEMAS DEINFORMAÇÃO33

    3333

    SISTEMAS DEINFORMAÇÃO

    33

    3333

    33 33SISTEMAS DEINFORMAÇÃO

    33

    3333

    33SISTEMAS DEINFORMAÇÃO33

    33SISTEMAS DEINFORMAÇÃO33

    3333

    33SISTEMAS DEINFORMAÇÃO33

    3333

    33SISTEMAS DEINFORMAÇÃO33

    33SISTEMAS DEINFORMAÇÃO33

    3333

    33SISTEMAS DEINFORMAÇÃO3333

    33SISTEMAS DEINFORMAÇÃO33

    3333

    33SISTEMAS DEINFORMAÇÃO33

    33SISTEMAS DEINFORMAÇÃO33

    3333

    33SISTEMAS DEINFORMAÇÃO33

    3333

    33SISTEMAS DEINFORMAÇÃO33

    33SISTEMAS DEINFORMAÇÃO33

    3333

    33SISTEMAS DEINFORMAÇÃO33

    3333

    public double peso() {

    return peso;}

    public void exibeListras() {

    System.out.println("Minha zebra tem " + listras + "listras.");}

    }

  • public class Zebra implements Animal{

    double peso;int listras;

    Zebra(double p, int l) {

    peso = p;listras =l;

    }

    interface Animal

    {

    void nasça(); public void nasça() {

    System.out.println("Zebrinha bebê nascendo...");}

    public void passeiePelaTela() {

    System.out.println("Zebra galopa pela tela.");}

    public void durma() {

    System.out.println("Zebra dorme sem roncar.... zzzzzzzzzzzzzzzz...");}

    void nasça();

    void passeiePelaTela();

    void durma();

    double peso();

    }

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

    SISTEMAS DEINFORMAÇÃO

    34

    3434

    34SISTEMAS DEINFORMAÇÃO34

    3434

    34SISTEMAS DEINFORMAÇÃO34

    34SISTEMAS DEINFORMAÇÃO34

    3434

    34SISTEMAS DEINFORMAÇÃO34

    3434

    34SISTEMAS DEINFORMAÇÃO34

    34SISTEMAS DEINFORMAÇÃO34

    3434

    SISTEMAS DEINFORMAÇÃO

    34

    3434

    34 34SISTEMAS DEINFORMAÇÃO

    34

    3434

    34SISTEMAS DEINFORMAÇÃO34

    34SISTEMAS DEINFORMAÇÃO34

    3434

    34SISTEMAS DEINFORMAÇÃO34

    3434

    34SISTEMAS DEINFORMAÇÃO34

    34SISTEMAS DEINFORMAÇÃO34

    3434

    34SISTEMAS DEINFORMAÇÃO3434

    34SISTEMAS DEINFORMAÇÃO34

    3434

    34SISTEMAS DEINFORMAÇÃO34

    34SISTEMAS DEINFORMAÇÃO34

    3434

    34SISTEMAS DEINFORMAÇÃO34

    3434

    34SISTEMAS DEINFORMAÇÃO34

    34SISTEMAS DEINFORMAÇÃO34

    3434

    34SISTEMAS DEINFORMAÇÃO34

    3434

    public double peso() {

    return peso;}

    public void exibeListras() {

    System.out.println("Minha zebra tem " + listras + "listras.");}

    }

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();

    Não posso instanciar animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);Animal zebraGrande = new Zebra(230,160);Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);

    objetos da interface (Animal).Posso instanciar somente das classes que implementam a interface...Mas posso definir que o

    SISTEMAS DEINFORMAÇÃO

    35

    3535

    35SISTEMAS DEINFORMAÇÃO35

    3535

    35SISTEMAS DEINFORMAÇÃO35

    35SISTEMAS DEINFORMAÇÃO35

    3535

    35SISTEMAS DEINFORMAÇÃO35

    3535

    35SISTEMAS DEINFORMAÇÃO35

    35SISTEMAS DEINFORMAÇÃO35

    3535

    SISTEMAS DEINFORMAÇÃO

    35

    3535

    35 35SISTEMAS DEINFORMAÇÃO

    35

    3535

    35SISTEMAS DEINFORMAÇÃO35

    35SISTEMAS DEINFORMAÇÃO35

    3535

    35SISTEMAS DEINFORMAÇÃO35

    3535

    35SISTEMAS DEINFORMAÇÃO35

    35SISTEMAS DEINFORMAÇÃO35

    3535

    35SISTEMAS DEINFORMAÇÃO3535

    35SISTEMAS DEINFORMAÇÃO35

    3535

    35SISTEMAS DEINFORMAÇÃO35

    35SISTEMAS DEINFORMAÇÃO35

    3535

    35SISTEMAS DEINFORMAÇÃO35

    3535

    35SISTEMAS DEINFORMAÇÃO35

    35SISTEMAS DEINFORMAÇÃO35

    3535

    35SISTEMAS DEINFORMAÇÃO35

    3535

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

    Mas posso definir que o tipo do objeto instanciado é Animal

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);Animal zebraGrande = new Zebra(230,160);Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);

    Consequência:

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

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

    > zebraPequena.exibeListras();

    Minha zebra tem 105 listras.

    > zebraGrande.exibeListras();

    SISTEMAS DEINFORMAÇÃO

    36

    3636

    36SISTEMAS DEINFORMAÇÃO36

    3636

    36SISTEMAS DEINFORMAÇÃO36

    36SISTEMAS DEINFORMAÇÃO36

    3636

    36SISTEMAS DEINFORMAÇÃO36

    3636

    36SISTEMAS DEINFORMAÇÃO36

    36SISTEMAS DEINFORMAÇÃO36

    3636

    SISTEMAS DEINFORMAÇÃO

    36

    3636

    36 36SISTEMAS DEINFORMAÇÃO

    36

    3636

    36SISTEMAS DEINFORMAÇÃO36

    36SISTEMAS DEINFORMAÇÃO36

    3636

    36SISTEMAS DEINFORMAÇÃO36

    3636

    36SISTEMAS DEINFORMAÇÃO36

    36SISTEMAS DEINFORMAÇÃO36

    3636

    36SISTEMAS DEINFORMAÇÃO3636

    36SISTEMAS DEINFORMAÇÃO36

    3636

    36SISTEMAS DEINFORMAÇÃO36

    36SISTEMAS DEINFORMAÇÃO36

    3636

    36SISTEMAS DEINFORMAÇÃO36

    3636

    36SISTEMAS DEINFORMAÇÃO36

    36SISTEMAS DEINFORMAÇÃO36

    3636

    36SISTEMAS DEINFORMAÇÃO36

    3636

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

    ????

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);Animal zebraGrande = new Zebra(230,160);Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);

    Consequência:

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

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

    > zebraPequena.exibeListras();

    Minha zebra tem 105 listras.

    > zebraGrande.exibeListras();

    SISTEMAS DEINFORMAÇÃO

    37

    3737

    37SISTEMAS DEINFORMAÇÃO37

    3737

    37SISTEMAS DEINFORMAÇÃO37

    37SISTEMAS DEINFORMAÇÃO37

    3737

    37SISTEMAS DEINFORMAÇÃO37

    3737

    37SISTEMAS DEINFORMAÇÃO37

    37SISTEMAS DEINFORMAÇÃO37

    3737

    SISTEMAS DEINFORMAÇÃO

    37

    3737

    37 37SISTEMAS DEINFORMAÇÃO

    37

    3737

    37SISTEMAS DEINFORMAÇÃO37

    37SISTEMAS DEINFORMAÇÃO37

    3737

    37SISTEMAS DEINFORMAÇÃO37

    3737

    37SISTEMAS DEINFORMAÇÃO37

    37SISTEMAS DEINFORMAÇÃO37

    3737

    37SISTEMAS DEINFORMAÇÃO3737

    37SISTEMAS DEINFORMAÇÃO37

    3737

    37SISTEMAS DEINFORMAÇÃO37

    37SISTEMAS DEINFORMAÇÃO37

    3737

    37SISTEMAS DEINFORMAÇÃO37

    3737

    37SISTEMAS DEINFORMAÇÃO37

    37SISTEMAS DEINFORMAÇÃO37

    3737

    37SISTEMAS DEINFORMAÇÃO37

    3737

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

    Static Error: No method in Animal with name

    'exibeListras' accepts arguments ()

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);Animal zebraGrande = new Zebra(230,160);Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);

    Consequência:

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

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

    > zebraPequena.exibeListras();

    Minha zebra tem 105 listras.

    > zebraGrande.exibeListras();

    SISTEMAS DEINFORMAÇÃO

    38

    3838

    38SISTEMAS DEINFORMAÇÃO38

    3838

    38SISTEMAS DEINFORMAÇÃO38

    38SISTEMAS DEINFORMAÇÃO38

    3838

    38SISTEMAS DEINFORMAÇÃO38

    3838

    38SISTEMAS DEINFORMAÇÃO38

    38SISTEMAS DEINFORMAÇÃO38

    3838

    SISTEMAS DEINFORMAÇÃO

    38

    3838

    38 38SISTEMAS DEINFORMAÇÃO

    38

    3838

    38SISTEMAS DEINFORMAÇÃO38

    38SISTEMAS DEINFORMAÇÃO38

    3838

    38SISTEMAS DEINFORMAÇÃO38

    3838

    38SISTEMAS DEINFORMAÇÃO38

    38SISTEMAS DEINFORMAÇÃO38

    3838

    38SISTEMAS DEINFORMAÇÃO3838

    38SISTEMAS DEINFORMAÇÃO38

    3838

    38SISTEMAS DEINFORMAÇÃO38

    38SISTEMAS DEINFORMAÇÃO38

    3838

    38SISTEMAS DEINFORMAÇÃO38

    3838

    38SISTEMAS DEINFORMAÇÃO38

    38SISTEMAS DEINFORMAÇÃO38

    3838

    38SISTEMAS DEINFORMAÇÃO38

    3838

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

    Static Error: No method in Animal with name

    'exibeListras' accepts arguments ()

    A associação de qual método executar é

    dinâmica, mas a interface é definida estaticamente

    (Java é tipada!)

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);Animal zebraGrande = new Zebra(230,160);Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);

    Dá para melhorar ???

    SISTEMAS DEINFORMAÇÃO

    39

    3939

    39SISTEMAS DEINFORMAÇÃO39

    3939

    39SISTEMAS DEINFORMAÇÃO39

    39SISTEMAS DEINFORMAÇÃO39

    3939

    39SISTEMAS DEINFORMAÇÃO39

    3939

    39SISTEMAS DEINFORMAÇÃO39

    39SISTEMAS DEINFORMAÇÃO39

    3939

    SISTEMAS DEINFORMAÇÃO

    39

    3939

    39 39SISTEMAS DEINFORMAÇÃO

    39

    3939

    39SISTEMAS DEINFORMAÇÃO39

    39SISTEMAS DEINFORMAÇÃO39

    3939

    39SISTEMAS DEINFORMAÇÃO39

    3939

    39SISTEMAS DEINFORMAÇÃO39

    39SISTEMAS DEINFORMAÇÃO39

    3939

    39SISTEMAS DEINFORMAÇÃO3939

    39SISTEMAS DEINFORMAÇÃO39

    3939

    39SISTEMAS DEINFORMAÇÃO39

    39SISTEMAS DEINFORMAÇÃO39

    3939

    39SISTEMAS DEINFORMAÇÃO39

    3939

    39SISTEMAS DEINFORMAÇÃO39

    39SISTEMAS DEINFORMAÇÃO39

    3939

    39SISTEMAS DEINFORMAÇÃO39

    3939

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();

    class Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela(); animal.passeiePelaTela();

    animal.durma();}

    static public void fazFuncionar() {Animal bicharada []= new Animal [4];bicharada [0] = new Zebra(50, 105); bicharada [1] = new Zebra(230,160); bicharada [2] = new Morcego();bicharada [3] = new Pato (3.2);

    animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);Animal zebraGrande = new Zebra(230,160);Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);

    SISTEMAS DEINFORMAÇÃO

    40

    4040

    40SISTEMAS DEINFORMAÇÃO40

    4040

    40SISTEMAS DEINFORMAÇÃO40

    40SISTEMAS DEINFORMAÇÃO40

    4040

    40SISTEMAS DEINFORMAÇÃO40

    4040

    40SISTEMAS DEINFORMAÇÃO40

    40SISTEMAS DEINFORMAÇÃO40

    4040

    SISTEMAS DEINFORMAÇÃO

    40

    4040

    40 40SISTEMAS DEINFORMAÇÃO

    40

    4040

    40SISTEMAS DEINFORMAÇÃO40

    40SISTEMAS DEINFORMAÇÃO40

    4040

    40SISTEMAS DEINFORMAÇÃO40

    4040

    40SISTEMAS DEINFORMAÇÃO40

    40SISTEMAS DEINFORMAÇÃO40

    4040

    40SISTEMAS DEINFORMAÇÃO4040

    40SISTEMAS DEINFORMAÇÃO40

    4040

    40SISTEMAS DEINFORMAÇÃO40

    40SISTEMAS DEINFORMAÇÃO40

    4040

    40SISTEMAS DEINFORMAÇÃO40

    4040

    40SISTEMAS DEINFORMAÇÃO40

    40SISTEMAS DEINFORMAÇÃO40

    4040

    40SISTEMAS DEINFORMAÇÃO40

    4040

    ??? }

    }

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();

    class Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela(); animal.passeiePelaTela();

    animal.durma();}

    static public void fazFuncionar() {Animal bicharada []= new Animal [4];bicharada [0] = new Zebra(50, 105); bicharada [1] = new Zebra(230,160); bicharada [2] = new Morcego();bicharada [3] = new Pato (3.2);

    animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);Animal zebraGrande = new Zebra(230,160);Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);

    SISTEMAS DEINFORMAÇÃO

    41

    4141

    41SISTEMAS DEINFORMAÇÃO41

    4141

    41SISTEMAS DEINFORMAÇÃO41

    41SISTEMAS DEINFORMAÇÃO41

    4141

    41SISTEMAS DEINFORMAÇÃO41

    4141

    41SISTEMAS DEINFORMAÇÃO41

    41SISTEMAS DEINFORMAÇÃO41

    4141

    SISTEMAS DEINFORMAÇÃO

    41

    4141

    41 41SISTEMAS DEINFORMAÇÃO

    41

    4141

    41SISTEMAS DEINFORMAÇÃO41

    41SISTEMAS DEINFORMAÇÃO41

    4141

    41SISTEMAS DEINFORMAÇÃO41

    4141

    41SISTEMAS DEINFORMAÇÃO41

    41SISTEMAS DEINFORMAÇÃO41

    4141

    41SISTEMAS DEINFORMAÇÃO4141

    41SISTEMAS DEINFORMAÇÃO41

    4141

    41SISTEMAS DEINFORMAÇÃO41

    41SISTEMAS DEINFORMAÇÃO41

    4141

    41SISTEMAS DEINFORMAÇÃO41

    4141

    41SISTEMAS DEINFORMAÇÃO41

    41SISTEMAS DEINFORMAÇÃO41

    4141

    41SISTEMAS DEINFORMAÇÃO41

    4141

    for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]);

    }}

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Animal bicharada []= new Animal [4];bicharada [0] = new Zebra(50, 105); bicharada [1] = new Zebra(230,160); bicharada [2] = new Morcego();bicharada [3] = new Pato (3.2);

    Dá para escrever de

    outro jeito ???

    SISTEMAS DEINFORMAÇÃO

    42

    4242

    42SISTEMAS DEINFORMAÇÃO42

    4242

    42SISTEMAS DEINFORMAÇÃO42

    42SISTEMAS DEINFORMAÇÃO42

    4242

    42SISTEMAS DEINFORMAÇÃO42

    4242

    42SISTEMAS DEINFORMAÇÃO42

    42SISTEMAS DEINFORMAÇÃO42

    4242

    SISTEMAS DEINFORMAÇÃO

    42

    4242

    42 42SISTEMAS DEINFORMAÇÃO

    42

    4242

    42SISTEMAS DEINFORMAÇÃO42

    42SISTEMAS DEINFORMAÇÃO42

    4242

    42SISTEMAS DEINFORMAÇÃO42

    4242

    42SISTEMAS DEINFORMAÇÃO42

    42SISTEMAS DEINFORMAÇÃO42

    4242

    42SISTEMAS DEINFORMAÇÃO4242

    42SISTEMAS DEINFORMAÇÃO42

    4242

    42SISTEMAS DEINFORMAÇÃO42

    42SISTEMAS DEINFORMAÇÃO42

    4242

    42SISTEMAS DEINFORMAÇÃO42

    4242

    42SISTEMAS DEINFORMAÇÃO42

    42SISTEMAS DEINFORMAÇÃO42

    4242

    42SISTEMAS DEINFORMAÇÃO42

    4242

    for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]);

    }}

    outro jeito ???

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();

    class Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();animal.passeiePelaTela();

    animal.durma();}

    static public void fazFuncionar() {Animal bicharada []= new Animal [4];bicharada [0] = new Zebra(50, 105); bicharada [1] = new Zebra(230,160); bicharada [2] = new Morcego();bicharada [3] = new Pato (3.2);

    animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Animal bicharada []= {new Zebra(50, 105), new Zebra(230,160),

    new Morcego(), new Pato (3.2)}

    for (int i = 0; i < bicharada.length; i++)

    SISTEMAS DEINFORMAÇÃO

    43

    4343

    43SISTEMAS DEINFORMAÇÃO43

    4343

    43SISTEMAS DEINFORMAÇÃO43

    43SISTEMAS DEINFORMAÇÃO43

    4343

    43SISTEMAS DEINFORMAÇÃO43

    4343

    43SISTEMAS DEINFORMAÇÃO43

    43SISTEMAS DEINFORMAÇÃO43

    4343

    SISTEMAS DEINFORMAÇÃO

    43

    4343

    43 43SISTEMAS DEINFORMAÇÃO

    43

    4343

    43SISTEMAS DEINFORMAÇÃO43

    43SISTEMAS DEINFORMAÇÃO43

    4343

    43SISTEMAS DEINFORMAÇÃO43

    4343

    43SISTEMAS DEINFORMAÇÃO43

    43SISTEMAS DEINFORMAÇÃO43

    4343

    43SISTEMAS DEINFORMAÇÃO4343

    43SISTEMAS DEINFORMAÇÃO43

    4343

    43SISTEMAS DEINFORMAÇÃO43

    43SISTEMAS DEINFORMAÇÃO43

    4343

    43SISTEMAS DEINFORMAÇÃO43

    4343

    43SISTEMAS DEINFORMAÇÃO43

    43SISTEMAS DEINFORMAÇÃO43

    4343

    43SISTEMAS DEINFORMAÇÃO43

    4343

    for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]);

    }}

    for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]);

    }}

  • Interfaceclass Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();

    class Zoologico{

    static void cicloDeVida (Animal animal) {animal.nasça();animal.passeiePelaTela();

    Primeira versão Última versão

    animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {Zebra zebraPequena = new Zebra(50, 105);

    Animal zebraGrande = new Zebra(230,160);

    Morcego m = new Morcego();

    animal.passeiePelaTela();animal.durma();

    }

    static public void fazFuncionar() {

    Animal bicharada []= {new Zebra(50, 105), new Zebra(230,160),new Morcego(), new Pato (3.2)}

    for (int i = 0; i < bicharada.length; i++)

    SISTEMAS DEINFORMAÇÃO

    44

    4444

    44SISTEMAS DEINFORMAÇÃO44

    4444

    44SISTEMAS DEINFORMAÇÃO44

    44SISTEMAS DEINFORMAÇÃO44

    4444

    44SISTEMAS DEINFORMAÇÃO44

    4444

    44SISTEMAS DEINFORMAÇÃO44

    44SISTEMAS DEINFORMAÇÃO44

    4444

    SISTEMAS DEINFORMAÇÃO

    44

    4444

    44 44SISTEMAS DEINFORMAÇÃO

    44

    4444

    44SISTEMAS DEINFORMAÇÃO44

    44SISTEMAS DEINFORMAÇÃO44

    4444

    44SISTEMAS DEINFORMAÇÃO44

    4444

    44SISTEMAS DEINFORMAÇÃO44

    44SISTEMAS DEINFORMAÇÃO44

    4444

    44SISTEMAS DEINFORMAÇÃO4444

    44SISTEMAS DEINFORMAÇÃO44

    4444

    44SISTEMAS DEINFORMAÇÃO44

    44SISTEMAS DEINFORMAÇÃO44

    4444

    44SISTEMAS DEINFORMAÇÃO44

    4444

    44SISTEMAS DEINFORMAÇÃO44

    44SISTEMAS DEINFORMAÇÃO44

    4444

    44SISTEMAS DEINFORMAÇÃO44

    4444

    Morcego m = new Morcego();Pato p= new Pato (3.2);

    cicloDeVida(zebraPequena);cicloDeVida(zebraGrande);cicloDeVida(m);cicloDeVida(p);

    }}

    for (int i = 0; i < bicharada.length; i++) cicloDeVida(bicharada[i]);

    }}

  • Implementando mais de uma Interface

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

    • Exemplo:

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

    • um homem (ou mulher)

    • um professor

    • um coordenador de curso

    SISTEMAS DEINFORMAÇÃO

    45

    4545

    45SISTEMAS DEINFORMAÇÃO45

    4545

    45SISTEMAS DEINFORMAÇÃO45

    45SISTEMAS DEINFORMAÇÃO45

    4545

    45SISTEMAS DEINFORMAÇÃO45

    4545

    45SISTEMAS DEINFORMAÇÃO45

    45SISTEMAS DEINFORMAÇÃO45

    4545

    SISTEMAS DEINFORMAÇÃO

    45

    4545

    45 45SISTEMAS DEINFORMAÇÃO

    45

    4545

    45SISTEMAS DEINFORMAÇÃO45

    45SISTEMAS DEINFORMAÇÃO45

    4545

    45SISTEMAS DEINFORMAÇÃO45

    4545

    45SISTEMAS DEINFORMAÇÃO45

    45SISTEMAS DEINFORMAÇÃO45

    4545

    45SISTEMAS DEINFORMAÇÃO4545

    45SISTEMAS DEINFORMAÇÃO45

    4545

    45SISTEMAS DEINFORMAÇÃO45

    45SISTEMAS DEINFORMAÇÃO45

    4545

    45SISTEMAS DEINFORMAÇÃO45

    4545

    45SISTEMAS DEINFORMAÇÃO45

    45SISTEMAS DEINFORMAÇÃO45

    4545

    45SISTEMAS DEINFORMAÇÃO45

    4545

    • um sócio de clube

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

  • Implementando mais de uma Interface

    • indivíduo – nasce, cresce, morre:

    • homem – alista-se no exército• homem – alista-se no exército

    • professor – ministra aula, avalia alunos, publica artigos

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

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

    SISTEMAS DEINFORMAÇÃO

    46

    4646

    46SISTEMAS DEINFORMAÇÃO46

    4646

    46SISTEMAS DEINFORMAÇÃO46

    46SISTEMAS DEINFORMAÇÃO46

    4646

    46SISTEMAS DEINFORMAÇÃO46

    4646

    46SISTEMAS DEINFORMAÇÃO46

    46SISTEMAS DEINFORMAÇÃO46

    4646

    SISTEMAS DEINFORMAÇÃO

    46

    4646

    46 46SISTEMAS DEINFORMAÇÃO

    46

    4646

    46SISTEMAS DEINFORMAÇÃO46

    46SISTEMAS DEINFORMAÇÃO46

    4646

    46SISTEMAS DEINFORMAÇÃO46

    4646

    46SISTEMAS DEINFORMAÇÃO46

    46SISTEMAS DEINFORMAÇÃO46

    4646

    46SISTEMAS DEINFORMAÇÃO4646

    46SISTEMAS DEINFORMAÇÃO46

    4646

    46SISTEMAS DEINFORMAÇÃO46

    46SISTEMAS DEINFORMAÇÃO46

    4646

    46SISTEMAS DEINFORMAÇÃO46

    4646

    46SISTEMAS DEINFORMAÇÃO46

    46SISTEMAS DEINFORMAÇÃO46

    4646

    46SISTEMAS DEINFORMAÇÃO46

    4646

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

    • interfaces Voador e Transportador dePessoas

    interface Voador{void voa();

    void aterrisa();}

    interface TransportadorDePessoas{

    void entramPessoas();

    void saemPessoas();}

    SISTEMAS DEINFORMAÇÃO

    47

    4747

    47SISTEMAS DEINFORMAÇÃO47

    4747

    47SISTEMAS DEINFORMAÇÃO47

    47SISTEMAS DEINFORMAÇÃO47

    4747

    47SISTEMAS DEINFORMAÇÃO47

    4747

    47SISTEMAS DEINFORMAÇÃO47

    47SISTEMAS DEINFORMAÇÃO47

    4747

    SISTEMAS DEINFORMAÇÃO

    47

    4747

    47 47SISTEMAS DEINFORMAÇÃO

    47

    4747

    47SISTEMAS DEINFORMAÇÃO47

    47SISTEMAS DEINFORMAÇÃO47

    4747

    47SISTEMAS DEINFORMAÇÃO47

    4747

    47SISTEMAS DEINFORMAÇÃO47

    47SISTEMAS DEINFORMAÇÃO47

    4747

    47SISTEMAS DEINFORMAÇÃO4747

    47SISTEMAS DEINFORMAÇÃO47

    4747

    47SISTEMAS DEINFORMAÇÃO47

    47SISTEMAS DEINFORMAÇÃO47

    4747

    47SISTEMAS DEINFORMAÇÃO47

    4747

    47SISTEMAS DEINFORMAÇÃO47

    47SISTEMAS DEINFORMAÇÃO47

    4747

    47SISTEMAS DEINFORMAÇÃO47

    4747

  • Implementando mais de uma Interface

    interface Voador

    class Ave implements Voador

    {

    public void voa()

    {void voa();

    void aterrisa();}

    public void voa()

    {

    System.out.println ("Bate as asas");

    }

    public void aterrisa()

    {

    System.out.println ("Desliza suavemente até tocar o

    chão");

    }

    SISTEMAS DEINFORMAÇÃO

    48

    4848

    48SISTEMAS DEINFORMAÇÃO48

    4848

    48SISTEMAS DEINFORMAÇÃO48

    48SISTEMAS DEINFORMAÇÃO48

    4848

    48SISTEMAS DEINFORMAÇÃO48

    4848

    48SISTEMAS DEINFORMAÇÃO48

    48SISTEMAS DEINFORMAÇÃO48

    4848

    SISTEMAS DEINFORMAÇÃO

    48

    4848

    48 48SISTEMAS DEINFORMAÇÃO

    48

    4848

    48SISTEMAS DEINFORMAÇÃO48

    48SISTEMAS DEINFORMAÇÃO48

    4848

    48SISTEMAS DEINFORMAÇÃO48

    4848

    48SISTEMAS DEINFORMAÇÃO48

    48SISTEMAS DEINFORMAÇÃO48

    4848

    48SISTEMAS DEINFORMAÇÃO4848

    48SISTEMAS DEINFORMAÇÃO48

    4848

    48SISTEMAS DEINFORMAÇÃO48

    48SISTEMAS DEINFORMAÇÃO48

    4848

    48SISTEMAS DEINFORMAÇÃO48

    4848

    48SISTEMAS DEINFORMAÇÃO48

    48SISTEMAS DEINFORMAÇÃO48

    4848

    48SISTEMAS DEINFORMAÇÃO48

    4848

    }

    }

  • Implementando mais de uma Interface

    interface TransportadorDePessoas

    {

    class Onibus implements

    TransportadorDePessoas

    {{

    void entramPessoas();

    void saemPessoas();

    }

    {

    public void entramPessoas()

    {

    System.out.println ("Abre a porta

    para as pessoas entrarem");

    }

    public void saemPessoas()

    {

    System.out.println ("Abre a porta

    para as pessoas saírem");

    SISTEMAS DEINFORMAÇÃO

    49

    4949

    49SISTEMAS DEINFORMAÇÃO49

    4949

    49SISTEMAS DEINFORMAÇÃO49

    49SISTEMAS DEINFORMAÇÃO49

    4949

    49SISTEMAS DEINFORMAÇÃO49

    4949

    49SISTEMAS DEINFORMAÇÃO49

    49SISTEMAS DEINFORMAÇÃO49

    4949

    SISTEMAS DEINFORMAÇÃO

    49

    4949

    49 49SISTEMAS DEINFORMAÇÃO

    49

    4949

    49SISTEMAS DEINFORMAÇÃO49

    49SISTEMAS DEINFORMAÇÃO49

    4949

    49SISTEMAS DEINFORMAÇÃO49

    4949

    49SISTEMAS DEINFORMAÇÃO49

    49SISTEMAS DEINFORMAÇÃO49

    4949

    49SISTEMAS DEINFORMAÇÃO4949

    49SISTEMAS DEINFORMAÇÃO49

    4949

    49SISTEMAS DEINFORMAÇÃO49

    49SISTEMAS DEINFORMAÇÃO49

    4949

    49SISTEMAS DEINFORMAÇÃO49

    4949

    49SISTEMAS DEINFORMAÇÃO49

    49SISTEMAS DEINFORMAÇÃO49

    4949

    49SISTEMAS DEINFORMAÇÃO49

    4949

    para as pessoas saírem");

    }

    }

  • Implementando mais de uma Interface

    interface Voador{

    class Aviao implements Voador, TransportadorDePessoas{public void voa()

    {System.out.println ("Liga as turbinas e decola.");

    }{void voa();

    void aterrisa();}

    interface TransportadorDePessoas{

    void entramPessoas();

    void saemPessoas();}

    }

    public void aterrisa() {System.out.println ("Abaixa o trem de pouso e desce -

    preferencialmente no chão e suavemente... :-)");

    }

    public void entramPessoas() { System.out.println ("Procedimento de embarque - idosos,

    SISTEMAS DEINFORMAÇÃO

    50

    5050

    50SISTEMAS DEINFORMAÇÃO50

    5050

    50SISTEMAS DEINFORMAÇÃO50

    50SISTEMAS DEINFORMAÇÃO50

    5050

    50SISTEMAS DEINFORMAÇÃO50

    5050

    50SISTEMAS DEINFORMAÇÃO50

    50SISTEMAS DEINFORMAÇÃO50

    5050

    SISTEMAS DEINFORMAÇÃO

    50

    5050

    50 50SISTEMAS DEINFORMAÇÃO

    50

    5050

    50SISTEMAS DEINFORMAÇÃO50

    50SISTEMAS DEINFORMAÇÃO50

    5050

    50SISTEMAS DEINFORMAÇÃO50

    5050

    50SISTEMAS DEINFORMAÇÃO50

    50SISTEMAS DEINFORMAÇÃO50

    5050

    50SISTEMAS DEINFORMAÇÃO5050

    50SISTEMAS DEINFORMAÇÃO50

    5050

    50SISTEMAS DEINFORMAÇÃO50

    50SISTEMAS DEINFORMAÇÃO50

    5050

    50SISTEMAS DEINFORMAÇÃO50

    5050

    50SISTEMAS DEINFORMAÇÃO50

    50SISTEMAS DEINFORMAÇÃO50

    5050

    50SISTEMAS DEINFORMAÇÃO50

    5050

    } System.out.println ("Procedimento de embarque - idosos, gestantes e portadores de deficiência têm preferência...");}

    public void saemPessoas()

    {System.out.println ("Desembarque. Passageiros devem

    aguardar até parada completa da aeronave.");}

    }

  • Implementando mais de uma Interface

    class TestaInterface{

    public static void executa()

    {

    > TestaInterface.executa()

    Abre a porta para as pessoas entrarem{TransportadorDePessoas t = new Onibus();Voador v = new Ave();Aviao a = new Aviao();

    t.entramPessoas();t.saemPessoas();

    v.voa();v.aterrisa();a.entramPessoas();a.voa();

    Abre a porta para as pessoas saírem

    Bate as asas

    Desliza suavemente até tocar o chão

    Procedimento de embarque - idosos,

    gestantes e portadores de deficiência têm

    preferência...

    Liga as turbinas e decola.

    SISTEMAS DEINFORMAÇÃO

    51

    5151

    51SISTEMAS DEINFORMAÇÃO51

    5151

    51SISTEMAS DEINFORMAÇÃO51

    51SISTEMAS DEINFORMAÇÃO51

    5151

    51SISTEMAS DEINFORMAÇÃO51

    5151

    51SISTEMAS DEINFORMAÇÃO51

    51SISTEMAS DEINFORMAÇÃO51

    5151

    SISTEMAS DEINFORMAÇÃO

    51

    5151

    51 51SISTEMAS DEINFORMAÇÃO

    51

    5151

    51SISTEMAS DEINFORMAÇÃO51

    51SISTEMAS DEINFORMAÇÃO51

    5151

    51SISTEMAS DEINFORMAÇÃO51

    5151

    51SISTEMAS DEINFORMAÇÃO51

    51SISTEMAS DEINFORMAÇÃO51

    5151

    51SISTEMAS DEINFORMAÇÃO5151

    51SISTEMAS DEINFORMAÇÃO51

    5151

    51SISTEMAS DEINFORMAÇÃO51

    51SISTEMAS DEINFORMAÇÃO51

    5151

    51SISTEMAS DEINFORMAÇÃO51

    5151

    51SISTEMAS DEINFORMAÇÃO51

    51SISTEMAS DEINFORMAÇÃO51

    5151

    51SISTEMAS DEINFORMAÇÃO51

    5151

    a.voa();

    }}

    Liga as turbinas e decola.

  • Um exemplo pouco mais complexo• Classe Fruta

    • atributos: nome, peso, preço

    • atributos devem ser carregados no construtor• atributos devem ser carregados no construtor

    SISTEMAS DEINFORMAÇÃO

    52

    5252

    52SISTEMAS DEINFORMAÇÃO52

    5252

    52SISTEMAS DEINFORMAÇÃO52

    52SISTEMAS DEINFORMAÇÃO52

    5252

    52SISTEMAS DEINFORMAÇÃO52

    5252

    52SISTEMAS DEINFORMAÇÃO52

    52SISTEMAS DEINFORMAÇÃO52

    5252

    SISTEMAS DEINFORMAÇÃO

    52

    5252

    52 52SISTEMAS DEINFORMAÇÃO

    52

    5252

    52SISTEMAS DEINFORMAÇÃO52

    52SISTEMAS DEINFORMAÇÃO52

    5252

    52SISTEMAS DEINFORMAÇÃO52

    5252

    52SISTEMAS DEINFORMAÇÃO52

    52SISTEMAS DEINFORMAÇÃO52

    5252

    52SISTEMAS DEINFORMAÇÃO5252

    52SISTEMAS DEINFORMAÇÃO52

    5252

    52SISTEMAS DEINFORMAÇÃO52

    52SISTEMAS DEINFORMAÇÃO52

    5252

    52SISTEMAS DEINFORMAÇÃO52

    5252

    52SISTEMAS DEINFORMAÇÃO52

    52SISTEMAS DEINFORMAÇÃO52

    5252

    52SISTEMAS DEINFORMAÇÃO52

    5252

  • Um exemplo pouco mais complexo• Classe Fruta

    • atributos: nome, peso,

    class Fruta

    {

    String nome;

    double preco, peso;nome, peso, preço

    • atributos devem ser carregados no construtor

    Fruta (String n, double p, double pr)

    {

    nome = n;

    peso = p;

    preco = pr;

    }

    void imprime()

    SISTEMAS DEINFORMAÇÃO

    53

    5353

    53SISTEMAS DEINFORMAÇÃO53

    5353

    53SISTEMAS DEINFORMAÇÃO53

    53SISTEMAS DEINFORMAÇÃO53

    5353

    53SISTEMAS DEINFORMAÇÃO53

    5353

    53SISTEMAS DEINFORMAÇÃO53

    53SISTEMAS DEINFORMAÇÃO53

    5353

    SISTEMAS DEINFORMAÇÃO

    53

    5353

    53 53SISTEMAS DEINFORMAÇÃO

    53

    5353

    53SISTEMAS DEINFORMAÇÃO53

    53SISTEMAS DEINFORMAÇÃO53

    5353

    53SISTEMAS DEINFORMAÇÃO53

    5353

    53SISTEMAS DEINFORMAÇÃO53

    53SISTEMAS DEINFORMAÇÃO53

    5353

    53SISTEMAS DEINFORMAÇÃO5353

    53SISTEMAS DEINFORMAÇÃO53

    5353

    53SISTEMAS DEINFORMAÇÃO53

    53SISTEMAS DEINFORMAÇÃO53

    5353

    53SISTEMAS DEINFORMAÇÃO53

    5353

    53SISTEMAS DEINFORMAÇÃO53

    53SISTEMAS DEINFORMAÇÃO53

    5353

    53SISTEMAS DEINFORMAÇÃO53

    5353

    void imprime()

    {

    System.out.print("Nome: " + nome);

    System.out.print(“ Peso: " + peso);

    System.out.println(“ Preço: " + preco);

    }

    }

  • Um exemplo pouco mais complexo• Classe Fruta

    • queremos criar um vetor de frutas e:

    • ordenar por nome• ordenar por nome

    • ordenar por peso

    • como fazer ???

    SISTEMAS DEINFORMAÇÃO

    54

    5454

    54SISTEMAS DEINFORMAÇÃO54

    5454

    54SISTEMAS DEINFORMAÇÃO54

    54SISTEMAS DEINFORMAÇÃO54

    5454

    54SISTEMAS DEINFORMAÇÃO54

    5454

    54SISTEMAS DEINFORMAÇÃO54

    54SISTEMAS DEINFORMAÇÃO54

    5454

    SISTEMAS DEINFORMAÇÃO

    54

    5454

    54 54SISTEMAS DEINFORMAÇÃO

    54

    5454

    54SISTEMAS DEINFORMAÇÃO54

    54SISTEMAS DEINFORMAÇÃO54

    5454

    54SISTEMAS DEINFORMAÇÃO54

    5454

    54SISTEMAS DEINFORMAÇÃO54

    54SISTEMAS DEINFORMAÇÃO54

    5454

    54SISTEMAS DEINFORMAÇÃO5454

    54SISTEMAS DEINFORMAÇÃO54

    5454

    54SISTEMAS DEINFORMAÇÃO54

    54SISTEMAS DEINFORMAÇÃO54

    5454

    54SISTEMAS DEINFORMAÇÃO54

    5454

    54SISTEMAS DEINFORMAÇÃO54

    54SISTEMAS DEINFORMAÇÃO54

    5454

    54SISTEMAS DEINFORMAÇÃO54

    5454

  • Um exemplo pouco mais complexo• Classe Fruta

    • queremos criar um vetor de frutas e:

    • ordenar por nome• ordenar por nome

    • ordenar por peso

    • como fazer ???

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

    • podemos escolher um método e implementar

    SISTEMAS DEINFORMAÇÃO

    55

    5555

    55SISTEMAS DEINFORMAÇÃO55

    5555

    55SISTEMAS DEINFORMAÇÃO55

    55SISTEMAS DEINFORMAÇÃO55

    5555

    55SISTEMAS DEINFORMAÇÃO55

    5555

    55SISTEMAS DEINFORMAÇÃO55

    55SISTEMAS DEINFORMAÇÃO55

    5555

    SISTEMAS DEINFORMAÇÃO

    55

    5555

    55 55SISTEMAS DEINFORMAÇÃO

    55

    5555

    55SISTEMAS DEINFORMAÇÃO55

    55SISTEMAS DEINFORMAÇÃO55

    5555

    55SISTEMAS DEINFORMAÇÃO55

    5555

    55SISTEMAS DEINFORMAÇÃO55

    55SISTEMAS DEINFORMAÇÃO55

    5555

    55SISTEMAS DEINFORMAÇÃO5555

    55SISTEMAS DEINFORMAÇÃO55

    5555

    55SISTEMAS DEINFORMAÇÃO55

    55SISTEMAS DEINFORMAÇÃO55

    5555

    55SISTEMAS DEINFORMAÇÃO55

    5555

    55SISTEMAS DEINFORMAÇÃO55

    55SISTEMAS DEINFORMAÇÃO55

    5555

    55SISTEMAS DEINFORMAÇÃO55

    5555

    • podemos escolher um método e implementar

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

  • Um exemplo pouco mais complexo

    class Quitanda

    {

    // define array e construtor

    class Fruta{String nome;

    double preco, peso;

    Fruta (String n, double p, double pr)

    // imprime frutas

    // ordena por Preço

    // ordena por Peso

    Fruta (String n, double p, double pr) {

    nome = n;peso = p;preco = pr;

    }

    void imprime() {

    System.out.print("Nome: " + nome);System.out.print(“ Peso: " + peso);

    System.out.println(“ Preço: " + preco);

    SISTEMAS DEINFORMAÇÃO

    56

    5656

    56SISTEMAS DEINFORMAÇÃO56

    5656

    56SISTEMAS DEINFORMAÇÃO56

    56SISTEMAS DEINFORMAÇÃO56

    5656

    56SISTEMAS DEINFORMAÇÃO56

    5656

    56SISTEMAS DEINFORMAÇÃO56

    56SISTEMAS DEINFORMAÇÃO56

    5656

    SISTEMAS DEINFORMAÇÃO

    56

    5656

    56 56SISTEMAS DEINFORMAÇÃO

    56

    5656

    56SISTEMAS DEINFORMAÇÃO56

    56SISTEMAS DEINFORMAÇÃO56

    5656

    56SISTEMAS DEINFORMAÇÃO56

    5656

    56SISTEMAS DEINFORMAÇÃO56

    56SISTEMAS DEINFORMAÇÃO56

    5656

    56SISTEMAS DEINFORMAÇÃO5656

    56SISTEMAS DEINFORMAÇÃO56

    5656

    56SISTEMAS DEINFORMAÇÃO56

    56SISTEMAS DEINFORMAÇÃO56

    5656

    56SISTEMAS DEINFORMAÇÃO56

    5656

    56SISTEMAS DEINFORMAÇÃO56

    56SISTEMAS DEINFORMAÇÃO56

    5656

    56SISTEMAS DEINFORMAÇÃO56

    5656

    // ordena por Peso

    // método principal que invoca os demais

    }

    System.out.println(“ Preço: " + preco);}

    }

  • Um exemplo pouco mais complexo

    class Quitanda

    {

    // define array e construtor

    ????

    class Fruta{String nome;

    double preco, peso;

    Fruta (String n, double p, double pr) ????

    // imprime frutas

    // ordena por Preço

    // ordena por Peso

    Fruta (String n, double p, double pr) {

    nome = n;peso = p;preco = pr;

    }

    void imprime() {

    System.out.print("Nome: " + nome);System.out.print(“ Peso: " + peso);

    System.out.println(“ Preço: " + preco);

    SISTEMAS DEINFORMAÇÃO

    57

    5757

    57SISTEMAS DEINFORMAÇÃO57

    5757

    57SISTEMAS DEINFORMAÇÃO57

    57SISTEMAS DEINFORMAÇÃO57

    5757

    57SISTEMAS DEINFORMAÇÃO57

    5757

    57SISTEMAS DEINFORMAÇÃO57

    57SISTEMAS DEINFORMAÇÃO57

    5757

    SISTEMAS DEINFORMAÇÃO

    57

    5757

    57 57SISTEMAS DEINFORMAÇÃO

    57

    5757

    57SISTEMAS DEINFORMAÇÃO57

    57SISTEMAS DEINFORMAÇÃO57

    5757

    57SISTEMAS DEINFORMAÇÃO57

    5757

    57SISTEMAS DEINFORMAÇÃO57

    57SISTEMAS DEINFORMAÇÃO57

    5757

    57SISTEMAS DEINFORMAÇÃO5757

    57SISTEMAS DEINFORMAÇÃO57

    5757

    57SISTEMAS DEINFORMAÇÃO57

    57SISTEMAS DEINFORMAÇÃO57

    5757

    57SISTEMAS DEINFORMAÇÃO57

    5757

    57SISTEMAS DEINFORMAÇÃO57

    57SISTEMAS DEINFORMAÇÃO57

    5757

    57SISTEMAS DEINFORMAÇÃO57

    5757

    // ordena por Peso

    // método principal que invoca os demais

    }

    System.out.println(“ Preço: " + preco);}

    }

  • Um exemplo pouco mais complexo

    class Quitanda

    {

    // define array e construtor

    Fruta [] frutas = new Fruta [5];

    class Fruta{String nome;

    double preco, peso;

    Fruta (String n, double p, double pr) Fruta [] frutas = new Fruta [5];

    public Quitanda()

    {

    frutas [0] = new Fruta ("Laranja", 0.2, 0.5);

    frutas [1] = new Fruta ("Kiwi", 0.1, 2);

    frutas [2] = new Fruta ("Mamão", 1.5, 1.2);

    frutas [3] = new Fruta ("Pera", 0.3, 1.7);

    frutas [4] = new Fruta ("Banana", 0.3, 0.2);

    Fruta (String n, double p, double pr) {

    nome = n;peso = p;preco = pr;

    }

    void imprime() {

    System.out.print("Nome: " + nome);System.out.print(“ Peso: " + peso);

    System.out.println(“ Preço: " + preco);

    SISTEMAS DEINFORMAÇÃO

    58

    5858

    58SISTEMAS DEINFORMAÇÃO58

    5858

    58SISTEMAS DEINFORMAÇÃO58

    58SISTEMAS DEINFORMAÇÃO58

    5858

    58SISTEMAS DEINFORMAÇÃO58

    5858

    58SISTEMAS DEINFORMAÇÃO58

    58SISTEMAS DEINFORMAÇÃO58

    5858

    SISTEMAS DEINFORMAÇÃO

    58

    5858

    58 58SISTEMAS DEINFORMAÇÃO

    58

    5858

    58SISTEMAS DEINFORMAÇÃO58

    58SISTEMAS DEINFORMAÇÃO58

    5858

    58SISTEMAS DEINFORMAÇÃO58

    5858

    58SISTEMAS DEINFORMAÇÃO58

    58SISTEMAS DEINFORMAÇÃO58

    5858

    58SISTEMAS DEINFORMAÇÃO5858

    58SISTEMAS DEINFORMAÇÃO58

    5858

    58SISTEMAS DEINFORMAÇÃO58

    58SISTEMAS DEINFORMAÇÃO58

    5858

    58SISTEMAS DEINFORMAÇÃO58

    5858

    58SISTEMAS DEINFORMAÇÃO58

    58SISTEMAS DEINFORMAÇÃO58

    5858

    58SISTEMAS DEINFORMAÇÃO58

    5858

    frutas [4] = new Fruta ("Banana", 0.3, 0.2);

    }

    // imprime frutas

    // ordena por Preço

    System.out.println(“ Preço: " + preco);}

    }

  • Um exemplo pouco mais complexo

    class Quitanda

    {

    // define array e construtor

    ...

    class Fruta{String nome;

    double preco, peso;

    Fruta (String n, double p, double pr) ...

    // imprime frutas

    ????

    // ordena por Preço

    // ordena por Peso

    Fruta (String n, double p, double pr) {

    nome = n;peso = p;preco = pr;

    }

    void imprime() {

    System.out.print("Nome: " + nome);System.out.print(“ Peso: " + peso);

    System.out.println(“ Preço: " + preco);

    SISTEMAS DEINFORMAÇÃO

    59

    5959

    59SISTEMAS DEINFORMAÇÃO59

    5959

    59SISTEMAS DEINFORMAÇÃO59

    59SISTEMAS DEINFORMAÇÃO59

    5959

    59SISTEMAS DEINFORMAÇÃO59

    5959

    59SISTEMAS DEINFORMAÇÃO59

    59SISTEMAS DEINFORMAÇÃO59

    5959

    SISTEMAS DEINFORMAÇÃO

    59

    5959

    59 59SISTEMAS DEINFORMAÇÃO

    59

    5959

    59SISTEMAS DEINFORMAÇÃO59

    59SISTEMAS DEINFORMAÇÃO59

    5959

    59SISTEMAS DEINFORMAÇÃO59

    5959

    59SISTEMAS DEINFORMAÇÃO59

    59SISTEMAS DEINFORMAÇÃO59

    5959

    59SISTEMAS DEINFORMAÇÃO5959

    59SISTEMAS DEINFORMAÇÃO59

    5959

    59SISTEMAS DEINFORMAÇÃO59

    59SISTEMAS DEINFORMAÇÃO59

    5959

    59SISTEMAS DEINFORMAÇÃO59

    5959

    59SISTEMAS DEINFORMAÇÃO59

    59SISTEMAS DEINFORMAÇÃO59

    5959

    59SISTEMAS DEINFORMAÇÃO59

    5959

    // ordena por Peso

    // método principal que invoca os demais

    }

    System.out.println(“ Preço: " + preco);}

    }

  • Um exemplo pouco mais complexo

    class Quitanda

    {

    // define array e construtor

    ...

    class Fruta{String nome;

    double preco, peso;

    Fruta (String n, double p, double pr) ...

    // imprime frutas

    public void imprime()

    {

    for (int i = 0; i < frutas.length; i++)

    frutas [i].imprime();

    }

    }

    Fruta (String n, double p, double pr) {

    nome = n;peso = p;preco = pr;

    }

    void imprime() {

    System.out.print("Nome: " + nome);System.out.print(“ Peso: " + peso);

    System.out.println(“ Preço: " + preco);

    SISTEMAS DEINFORMAÇÃO

    60

    6060

    60SISTEMAS DEINFORMAÇÃO60

    6060

    60SISTEMAS DEINFORMAÇÃO60

    60SISTEMAS DEINFORMAÇÃO60

    6060

    60SISTEMAS DEINFORMAÇÃO60

    6060

    60SISTEMAS DEINFORMAÇÃO60

    60SISTEMAS DEINFORMAÇÃO60

    6060

    SISTEMAS DEINFORMAÇÃO

    60

    6060

    60 60SISTEMAS DEINFORMAÇÃO

    60

    6060

    60SISTEMAS DEINFORMAÇÃO60

    60SISTEMAS DEINFORMAÇÃO60

    6060

    60SISTEMAS DEINFORMAÇÃO60

    6060

    60SISTEMAS DEINFORMAÇÃO60

    60SISTEMAS DEINFORMAÇÃO60

    6060

    60SISTEMAS DEINFORMAÇÃO6060

    60SISTEMAS DEINFORMAÇÃO60

    6060

    60SISTEMAS DEINFORMAÇÃO60

    60SISTEMAS DEINFORMAÇÃO60

    6060

    60SISTEMAS DEINFORMAÇÃO60

    6060

    60SISTEMAS DEINFORMAÇÃO60

    60SISTEMAS DEINFORMAÇÃO60

    6060

    60SISTEMAS DEINFORMAÇÃO60

    6060

    }System.out.println(“ Preço: " + preco);

    }}

  • Um exemplo pouco mais complexo

    class Quitanda

    {

    // define array e construtor

    // imprime frutas

    class Fruta{String nome;

    double preco, peso;

    Fruta (String n, double p, double pr) // imprime frutas

    // ordena por Preço

    ????

    // ordena por Peso

    // método principal que invoca os demais

    Fruta (String n, double p, double pr) {

    nome = n;peso = p;preco = pr;

    }

    void imprime() {

    System.out.print("Nome: " + nome);System.out.print(“ Peso: " + peso);

    System.out.println(“ Preço: " + preco);

    SISTEMAS DEINFORMAÇÃO

    61

    6161

    61SISTEMAS DEINFORMAÇÃO61

    6161

    61SISTEMAS DEINFORMAÇÃO61

    61SISTEMAS DEINFORMAÇÃO61

    6161

    61SISTEMAS DEINFORMAÇÃO61

    6161

    61SISTEMAS DEINFORMAÇÃO61

    61SISTEMAS DEINFORMAÇÃO61

    6161

    SISTEMAS DEINFORMAÇÃO

    61

    6161

    61 61SISTEMAS DEINFORMAÇÃO

    61

    6161

    61SISTEMAS DEINFORMAÇÃO61

    61SISTEMAS DEINFORMAÇÃO61

    6161

    61SISTEMAS DEINFORMAÇÃO61

    6161

    61SI