Universidade Federal de Sergipe
Departamento de Computação
Programação Orientada a Objetos




                Referências de Memória
                e Vetores

Felipe J. R. Vieira




        Última Atualização em Outubro de 2011
Sumário



  ➢
      Introdução;

  ➢   Referências; e

  ➢
      Vetores.




                 103403 – Programação Orientada a Objetos   2
Recapitulando




         103403 – Programação Orientada a Objetos   3
Introdução



  ➢ Quando declaramos uma variável para associar
  a um objeto, na verdade essa variável não
  guarda o objeto, e sim uma maneira de acessá-
  lo, chamada de referência;




           103403 – Programação Orientada a Objetos   4
Introdução


   class Programa{
     public static void main(String[] args){
       Conta minhaConta;
       MinhaConta = new Conta();

          Conta suaConta;
          SuaConta = new Conta();
      }
  }




              103403 – Programação Orientada a Objetos   5
Referência



  ➢
      Quando instanciamos uma Conta, nessa
  situação “minhaConta”, refere-se a um objeto
  que está na memória;

  ➢
      Lembrar, uma variável nunca é um objeto.




              103403 – Programação Orientada a Objetos   6
Referência
                                             Memória


   minhaConta




    suaConta




                103403 – Programação Orientada a Objetos   7
Referência


   class Programa{
     public static void main(String[] args){
       Conta minhaConta;
       MinhaConta = new Conta();

          Conta suaConta;
          SuaConta = new Conta();

          minhaConta = suaConta;
      }
  }


              103403 – Programação Orientada a Objetos   8
Referência
                                             Memória


   minhaConta




    suaConta




                103403 – Programação Orientada a Objetos   9
Prática

   ➢   Implementar mais métodos da classe conta.




               103403 – Programação Orientada a Objetos   10
Vetores


  ➢Os vetores são estruturas de dados consistindo
  em itens de dados do mesmo tipo relacionados;

  ➢
    São entidades de largura fixa, pois uma vez
  criados, mantêm o mesmo comprimento;

  ➢
     Os vetores são objetos, portanto                  são
  considerados tipos por referência.




            103403 – Programação Orientada a Objetos         11
Vetores

  ➢ Para referenciar um elemento particular em
  um vetor, especificamos o nome da referência
  para o vetor e o número da posição do
  elemento do vetor;

  ➢ São entidades de largura fixa, pois uma vez
  criados, mantêm o mesmo comprimento;

  ➢
     Os vetores são objetos, portanto                 são
  considerados tipos por referência.


           103403 – Programação Orientada a Objetos         12
Vetores


   class Programa{
     public static void main(String[] args){
       int c[] = new int[5];
     }
  }

                      c[0]       5

                      c[1]       4

             c        c[2]      10

                      c[3]      -9
                      c[4]
                                -3

           103403 – Programação Orientada a Objetos   13
Vetores


   class Programa{
     public static void main(String[] args){
       int c[] = {5,4,10,-9,-3};
     }
  }

                      c[0]       5

                      c[1]       4

             c        c[2]      10

                      c[3]      -9
                      c[4]
                                -3

           103403 – Programação Orientada a Objetos   14
for aprimorado


   class Programa{
     public static void main(String[] args){
       int c[] = {5,4,10,-9,-3};
       int total =0;
       for(int n : c)
          Total += n;
     }
  }




           103403 – Programação Orientada a Objetos   15
Vetores Multidimensional


   class Programa{
     public static void main(String[] args){
       int c[] = new int[3][3];
     }
  }



                c[0][0]        c[0][1]       c[0][2]

    c           c[1][0]        c[1][1]       c[1][2]

                c[2][0]        c[2][1]       c[2][2]




           103403 – Programação Orientada a Objetos    16
Prática

   ➢   Implementar   um    vetor    de                 contas,
   representando uma agência bancária.




            103403 – Programação Orientada a Objetos             17
Referências


  ➢   Java: Como Programar 6ª Edição.

  ➢   Material da Caelum.




              103403 – Programação Orientada a Objetos   18

POO - Aula 05 - Referências e Vetores

  • 1.
    Universidade Federal deSergipe Departamento de Computação Programação Orientada a Objetos Referências de Memória e Vetores Felipe J. R. Vieira Última Atualização em Outubro de 2011
  • 2.
    Sumário ➢ Introdução; ➢ Referências; e ➢ Vetores. 103403 – Programação Orientada a Objetos 2
  • 3.
    Recapitulando 103403 – Programação Orientada a Objetos 3
  • 4.
    Introdução ➢Quando declaramos uma variável para associar a um objeto, na verdade essa variável não guarda o objeto, e sim uma maneira de acessá- lo, chamada de referência; 103403 – Programação Orientada a Objetos 4
  • 5.
    Introdução class Programa{ public static void main(String[] args){ Conta minhaConta; MinhaConta = new Conta(); Conta suaConta; SuaConta = new Conta(); } } 103403 – Programação Orientada a Objetos 5
  • 6.
    Referência ➢ Quando instanciamos uma Conta, nessa situação “minhaConta”, refere-se a um objeto que está na memória; ➢ Lembrar, uma variável nunca é um objeto. 103403 – Programação Orientada a Objetos 6
  • 7.
    Referência Memória minhaConta suaConta 103403 – Programação Orientada a Objetos 7
  • 8.
    Referência class Programa{ public static void main(String[] args){ Conta minhaConta; MinhaConta = new Conta(); Conta suaConta; SuaConta = new Conta(); minhaConta = suaConta; } } 103403 – Programação Orientada a Objetos 8
  • 9.
    Referência Memória minhaConta suaConta 103403 – Programação Orientada a Objetos 9
  • 10.
    Prática ➢ Implementar mais métodos da classe conta. 103403 – Programação Orientada a Objetos 10
  • 11.
    Vetores ➢Osvetores são estruturas de dados consistindo em itens de dados do mesmo tipo relacionados; ➢ São entidades de largura fixa, pois uma vez criados, mantêm o mesmo comprimento; ➢ Os vetores são objetos, portanto são considerados tipos por referência. 103403 – Programação Orientada a Objetos 11
  • 12.
    Vetores ➢Para referenciar um elemento particular em um vetor, especificamos o nome da referência para o vetor e o número da posição do elemento do vetor; ➢ São entidades de largura fixa, pois uma vez criados, mantêm o mesmo comprimento; ➢ Os vetores são objetos, portanto são considerados tipos por referência. 103403 – Programação Orientada a Objetos 12
  • 13.
    Vetores class Programa{ public static void main(String[] args){ int c[] = new int[5]; } } c[0] 5 c[1] 4 c c[2] 10 c[3] -9 c[4] -3 103403 – Programação Orientada a Objetos 13
  • 14.
    Vetores class Programa{ public static void main(String[] args){ int c[] = {5,4,10,-9,-3}; } } c[0] 5 c[1] 4 c c[2] 10 c[3] -9 c[4] -3 103403 – Programação Orientada a Objetos 14
  • 15.
    for aprimorado class Programa{ public static void main(String[] args){ int c[] = {5,4,10,-9,-3}; int total =0; for(int n : c) Total += n; } } 103403 – Programação Orientada a Objetos 15
  • 16.
    Vetores Multidimensional class Programa{ public static void main(String[] args){ int c[] = new int[3][3]; } } c[0][0] c[0][1] c[0][2] c c[1][0] c[1][1] c[1][2] c[2][0] c[2][1] c[2][2] 103403 – Programação Orientada a Objetos 16
  • 17.
    Prática ➢ Implementar um vetor de contas, representando uma agência bancária. 103403 – Programação Orientada a Objetos 17
  • 18.
    Referências ➢ Java: Como Programar 6ª Edição. ➢ Material da Caelum. 103403 – Programação Orientada a Objetos 18