SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Apresentação programação orientada à objetos
Apresentação   programação orientada à objetosApresentação   programação orientada à objetos
Apresentação programação orientada à objetos
soncino
 
Collections In Java
Collections In JavaCollections In Java
Collections In Java
Binoj T E
 

Mais procurados (20)

Desenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EEDesenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EE
 
Oops concepts in php
Oops concepts in phpOops concepts in php
Oops concepts in php
 
Advanced Python : Decorators
Advanced Python : DecoratorsAdvanced Python : Decorators
Advanced Python : Decorators
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e Streams
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 
C++ classes tutorials
C++ classes tutorialsC++ classes tutorials
C++ classes tutorials
 
Pointers & References in C++
Pointers & References in C++Pointers & References in C++
Pointers & References in C++
 
Java 8 Lambda Expressions
Java 8 Lambda ExpressionsJava 8 Lambda Expressions
Java 8 Lambda Expressions
 
OOP C++
OOP C++OOP C++
OOP C++
 
Python Advanced – Building on the foundation
Python Advanced – Building on the foundationPython Advanced – Building on the foundation
Python Advanced – Building on the foundation
 
Collections Api - Java
Collections Api - JavaCollections Api - Java
Collections Api - Java
 
How to use Map() Filter() and Reduce() functions in Python | Edureka
How to use Map() Filter() and Reduce() functions in Python | EdurekaHow to use Map() Filter() and Reduce() functions in Python | Edureka
How to use Map() Filter() and Reduce() functions in Python | Edureka
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Collections framework in java
Collections framework in javaCollections framework in java
Collections framework in java
 
Pointer to function 2
Pointer to function 2Pointer to function 2
Pointer to function 2
 
Apresentação programação orientada à objetos
Apresentação   programação orientada à objetosApresentação   programação orientada à objetos
Apresentação programação orientada à objetos
 
Collections In Java
Collections In JavaCollections In Java
Collections In Java
 
Introdução a testes unitários com jUnit
Introdução a testes unitários com jUnitIntrodução a testes unitários com jUnit
Introdução a testes unitários com jUnit
 
Dynamic Memory Allocation, Pointers and Functions, Pointers and Structures
Dynamic Memory Allocation, Pointers and Functions, Pointers and StructuresDynamic Memory Allocation, Pointers and Functions, Pointers and Structures
Dynamic Memory Allocation, Pointers and Functions, Pointers and Structures
 
Map, Filter and Reduce In Python
Map, Filter and Reduce In PythonMap, Filter and Reduce In Python
Map, Filter and Reduce In Python
 

Destaque (7)

POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
MC - Aula 03 - Conceitos Iniciais
MC - Aula 03 -  Conceitos IniciaisMC - Aula 03 -  Conceitos Iniciais
MC - Aula 03 - Conceitos Iniciais
 
Estrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e FunçõesEstrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e Funções
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 

Semelhante a POO - Aula 05 - Referências e Vetores

Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etc
Luciano Ramalho
 

Semelhante a POO - Aula 05 - Referências e Vetores (19)

POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetos
 
POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
POO – Aula 01 – Plano de Ensino e Revisão de Programação ImperativaPOO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
 
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03
 
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao JavaPOO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
 
Web Data Mining com R
Web Data Mining com RWeb Data Mining com R
Web Data Mining com R
 
POO.pdf
POO.pdfPOO.pdf
POO.pdf
 
A primeira app iOS (a gente não esquece)
A primeira app iOS (a gente não esquece)A primeira app iOS (a gente não esquece)
A primeira app iOS (a gente não esquece)
 
Sua primeira app iOS
 Sua primeira app iOS Sua primeira app iOS
Sua primeira app iOS
 
Naked Objects
Naked ObjectsNaked Objects
Naked Objects
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etc
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
 
Capítulo 10 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 10 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 10 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 10 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitter
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-C
 
342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf
 
Estrutura de Dados - Aula 03
Estrutura de Dados - Aula 03Estrutura de Dados - Aula 03
Estrutura de Dados - Aula 03
 

Mais de Felipe J. R. Vieira

Mais de Felipe J. R. Vieira (20)

ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
 
POO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfacePOO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e Interface
 
MC – Aula 11 – Aplicativos
MC – Aula 11 – AplicativosMC – Aula 11 – Aplicativos
MC – Aula 11 – Aplicativos
 
MC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisMC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas Operacionais
 
MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
 
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesMC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
 
ICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de Repetição
 
MC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoMC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de Armazenamento
 
POO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoPOO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de Acesso
 
ICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional Múltipla
 
MC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaMC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e Memória
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
 
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
 
MC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da ComputaçãoMC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da Computação
 
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
 
MC - Aula 01 - Plano de Ensino e Histórico da Computação
MC - Aula 01 - Plano de Ensino e Histórico da ComputaçãoMC - Aula 01 - Plano de Ensino e Histórico da Computação
MC - Aula 01 - Plano de Ensino e Histórico da Computação
 
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de DadosICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
 
Tutorial do dica
Tutorial do dicaTutorial do dica
Tutorial do dica
 

POO - Aula 05 - Referências e Vetores

  • 1. 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
  • 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 ➢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
  • 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