SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Javaで学ぶネットワークプログラミングの基礎
Javaで学ぶネットワークプログラミングの基礎Javaで学ぶネットワークプログラミングの基礎
Javaで学ぶネットワークプログラミングの基礎なべ
 
Linux KVM のコードを追いかけてみよう
Linux KVM のコードを追いかけてみようLinux KVM のコードを追いかけてみよう
Linux KVM のコードを追いかけてみようTsuyoshi OZAWA
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Valeriy Kravchuk
 
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...HostedbyConfluent
 
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~Daisuke Morishita
 
Quick Guide with Linux Command Line
Quick Guide with Linux Command LineQuick Guide with Linux Command Line
Quick Guide with Linux Command LineAnuchit Chalothorn
 
Lexical analysis - Compiler Design
Lexical analysis - Compiler DesignLexical analysis - Compiler Design
Lexical analysis - Compiler DesignKuppusamy P
 
Cruiser: A Tool to Package Pharo Applications
Cruiser: A Tool to Package Pharo ApplicationsCruiser: A Tool to Package Pharo Applications
Cruiser: A Tool to Package Pharo ApplicationsESUG
 
Operating System 2
Operating System 2Operating System 2
Operating System 2tech2click
 
Unix shell scripting basics
Unix shell scripting basicsUnix shell scripting basics
Unix shell scripting basicsManav Prasad
 
Compiler Design Introduction
Compiler Design IntroductionCompiler Design Introduction
Compiler Design IntroductionRicha Sharma
 
Lecture2 general structure of a compiler
Lecture2 general structure of a compilerLecture2 general structure of a compiler
Lecture2 general structure of a compilerMahesh Kumar Chelimilla
 
makefiles tutorial
makefiles tutorialmakefiles tutorial
makefiles tutorialvsubhashini
 
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介Yuma Ohgami
 
Trace 程式碼之皮
Trace 程式碼之皮Trace 程式碼之皮
Trace 程式碼之皮Wen Liao
 

La actualidad más candente (20)

Javaで学ぶネットワークプログラミングの基礎
Javaで学ぶネットワークプログラミングの基礎Javaで学ぶネットワークプログラミングの基礎
Javaで学ぶネットワークプログラミングの基礎
 
Linux KVM のコードを追いかけてみよう
Linux KVM のコードを追いかけてみようLinux KVM のコードを追いかけてみよう
Linux KVM のコードを追いかけてみよう
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
 
Coding standard
Coding standardCoding standard
Coding standard
 
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...
 
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
 
Quick Guide with Linux Command Line
Quick Guide with Linux Command LineQuick Guide with Linux Command Line
Quick Guide with Linux Command Line
 
Lexical analysis - Compiler Design
Lexical analysis - Compiler DesignLexical analysis - Compiler Design
Lexical analysis - Compiler Design
 
C Programming - Refresher - Part III
C Programming - Refresher - Part IIIC Programming - Refresher - Part III
C Programming - Refresher - Part III
 
CMake best practices
CMake best practicesCMake best practices
CMake best practices
 
Cruiser: A Tool to Package Pharo Applications
Cruiser: A Tool to Package Pharo ApplicationsCruiser: A Tool to Package Pharo Applications
Cruiser: A Tool to Package Pharo Applications
 
Embedded Linux - Building toolchain
Embedded Linux - Building toolchainEmbedded Linux - Building toolchain
Embedded Linux - Building toolchain
 
Operating System 2
Operating System 2Operating System 2
Operating System 2
 
Unix shell scripting basics
Unix shell scripting basicsUnix shell scripting basics
Unix shell scripting basics
 
Compiler Design Introduction
Compiler Design IntroductionCompiler Design Introduction
Compiler Design Introduction
 
Lecture2 general structure of a compiler
Lecture2 general structure of a compilerLecture2 general structure of a compiler
Lecture2 general structure of a compiler
 
makefiles tutorial
makefiles tutorialmakefiles tutorial
makefiles tutorial
 
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介
 
Process management
Process managementProcess management
Process management
 
Trace 程式碼之皮
Trace 程式碼之皮Trace 程式碼之皮
Trace 程式碼之皮
 

Destacado (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)
 

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

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 objetosFelipe J. R. Vieira
 
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 ImperativaFelipe J. R. Vieira
 
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03thomasdacosta
 
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 JavaFelipe J. R. Vieira
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Saulo Arruda
 
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 ClasseFelipe J. R. Vieira
 
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)Ricardo Valeriano
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etcLuciano Ramalho
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaodiogoa21
 
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...Os Fantasmas !
 
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 twitterFabrício Barth
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-CSaulo Arruda
 
342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdfGabrielMarchesan
 
Estrutura de Dados - Aula 03
Estrutura de Dados - Aula 03Estrutura de Dados - Aula 03
Estrutura de Dados - Aula 03thomasdacosta
 

Similar 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
 

Más de Felipe J. R. Vieira

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 EstruturasFelipe J. R. Vieira
 
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 InterfaceFelipe J. R. Vieira
 
MC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisMC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisFelipe J. R. Vieira
 
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)Felipe J. R. Vieira
 
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çõesFelipe J. R. Vieira
 
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çãoFelipe J. R. Vieira
 
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 ArmazenamentoFelipe J. R. Vieira
 
POO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoPOO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoFelipe J. R. Vieira
 
ICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaFelipe J. R. Vieira
 
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óriaFelipe J. R. Vieira
 
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 condicionalFelipe J. R. Vieira
 
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ídaFelipe J. R. Vieira
 
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 prioridadeFelipe J. R. Vieira
 
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çãoFelipe J. R. Vieira
 
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áriosFelipe J. R. Vieira
 
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çãoFelipe J. R. Vieira
 
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 DadosFelipe J. R. Vieira
 

Más 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
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
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
 

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