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

L14 exception handling
L14 exception handlingL14 exception handling
L14 exception handlingteach4uin
 
Method Overloading in Java
Method Overloading in JavaMethod Overloading in Java
Method Overloading in JavaSonya Akter Rupa
 
Java Foundations: Objects and Classes
Java Foundations: Objects and ClassesJava Foundations: Objects and Classes
Java Foundations: Objects and ClassesSvetlin Nakov
 
Java string , string buffer and wrapper class
Java string , string buffer and wrapper classJava string , string buffer and wrapper class
Java string , string buffer and wrapper classSimoniShah6
 
Object Oriented Programming in Python
Object Oriented Programming in PythonObject Oriented Programming in Python
Object Oriented Programming in PythonSujith Kumar
 
Unit ii java script and xhtml documents and dynamic documents with javascript
Unit ii java script and xhtml documents and dynamic documents with javascriptUnit ii java script and xhtml documents and dynamic documents with javascript
Unit ii java script and xhtml documents and dynamic documents with javascriptzahid7578
 
Object Oriented Programming Concepts using Java
Object Oriented Programming Concepts using JavaObject Oriented Programming Concepts using Java
Object Oriented Programming Concepts using JavaGlenn Guden
 
Python decorators
Python decoratorsPython decorators
Python decoratorsAlex Su
 
Collections - Lists, Sets
Collections - Lists, Sets Collections - Lists, Sets
Collections - Lists, Sets Hitesh-Java
 

Mais procurados (20)

L14 exception handling
L14 exception handlingL14 exception handling
L14 exception handling
 
Method Overloading in Java
Method Overloading in JavaMethod Overloading in Java
Method Overloading in Java
 
Visitor design patterns
Visitor design patternsVisitor design patterns
Visitor design patterns
 
Java Foundations: Objects and Classes
Java Foundations: Objects and ClassesJava Foundations: Objects and Classes
Java Foundations: Objects and Classes
 
Java 8 Lambda Expressions
Java 8 Lambda ExpressionsJava 8 Lambda Expressions
Java 8 Lambda Expressions
 
Java string , string buffer and wrapper class
Java string , string buffer and wrapper classJava string , string buffer and wrapper class
Java string , string buffer and wrapper class
 
Java Notes
Java NotesJava Notes
Java Notes
 
C# classes objects
C#  classes objectsC#  classes objects
C# classes objects
 
Java string handling
Java string handlingJava string handling
Java string handling
 
Object Oriented Programming in Python
Object Oriented Programming in PythonObject Oriented Programming in Python
Object Oriented Programming in Python
 
Wrapper class
Wrapper classWrapper class
Wrapper class
 
Unit ii java script and xhtml documents and dynamic documents with javascript
Unit ii java script and xhtml documents and dynamic documents with javascriptUnit ii java script and xhtml documents and dynamic documents with javascript
Unit ii java script and xhtml documents and dynamic documents with javascript
 
Object Oriented Programming Concepts using Java
Object Oriented Programming Concepts using JavaObject Oriented Programming Concepts using Java
Object Oriented Programming Concepts using Java
 
Java Annotations
Java AnnotationsJava Annotations
Java Annotations
 
Python decorators
Python decoratorsPython decorators
Python decorators
 
Collections - Lists, Sets
Collections - Lists, Sets Collections - Lists, Sets
Collections - Lists, Sets
 
Files in java
Files in javaFiles in java
Files in java
 
Java annotations
Java annotationsJava annotations
Java annotations
 
Wrapper classes
Wrapper classes Wrapper classes
Wrapper classes
 
Java collections
Java collectionsJava collections
Java collections
 

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

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
 

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

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
 

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
 
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