• Save
POO - 04 - Variávies em Java
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,899
On Slideshare
1,899
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Programação Orientada a Objetos Variáveis de Instância e Variáveis Locais Ciclo de vida das variáveis em Java Ludimila Monjardim Casagrande 2012
  • 2. Variáveis  Basicamente, o que um programa faz é manipular dados. Em geral, esses dados são armazenados em variáveis localizadas na memória RAM do computador.  Uma variável pode guardar dados de vários tipos: números, textos, booleanos (verdadeiro ou falso) ou referências para objetos, por exemplo.  Além disso, toda variável possui um nome que é utilizado quando a informação dentro da variável precisa ser manipulada pelo programa.Variáveis em Java ©2012 Ludimila Monjardim Casagrande 2
  • 3. Declaração de Variáveis  Na linguagem de programação Java, as variáveis devem ser declaradas para que possam ser utilizadas.  A declaração de uma variável envolve definir um nome único (identificador) dentro de um escopo e um tipo de valor.  As variáveis são acessadas pelos nomes e armazenam valores compatíveis com o seu tipo.  Exemplo de declaração com inicialização:  int numero = 10;Variáveis em Java ©2012 Ludimila Monjardim Casagrande 3
  • 4. Declaração de Variáveis  A declaração de uma variável pode ser realizada em qualquer linha de um bloco.  Não é necessário declarar todas as variáveis no começo do bloco como acontece em algumas linguagens de programação.  Não podemos declarar duas variáveis com o mesmo nome em um único bloco ou escopo pois ocorrerá um erro de compilação.Variáveis em Java ©2012 Ludimila Monjardim Casagrande 4
  • 5. Variáveis em Java  O Java suporta variáveis com diferentes ciclos de vida:  Os atributos (ou variáveis de instância);  As variáveis de método (ou variáveis locais).Variáveis em Java ©2012 Ludimila Monjardim Casagrande 5
  • 6. Variáveis de Instância  Os atributos (ou variáveis de instância) são criados quando uma instância da classe (objeto) é criada e são destruídos quando essa instância é destruída.  Subordinada às regras de acessibilidade e à existência de uma referência a um objeto, uma variável de instância é acessível enquanto o objeto que a encapsula for acessível.Variáveis em Java ©2012 Ludimila Monjardim Casagrande 6
  • 7. Variáveis de Método  Variáveis locais podem ser argumentos ou variáveis declaradas no corpo do método.  Os argumentos são criados na entrada do método ao qual pertencem.  As demais variáveis locais são criadas no momento de sua declaração.  Ambos só existem (portanto só podem ser acessados) no intervalo entre a sua criação e o término da execução do método.Variáveis em Java ©2012 Ludimila Monjardim Casagrande 7
  • 8. Exemplo public class Conta { private double saldo; public Conta ( ) { } public Conta (double s) { s é uma variável local e this.saldo = s; saldo é uma variável de } instância public void creditar (double valor) { saldo = saldo + valor; } public void debitar (double valor) { saldo = saldo - valor; } Os construtores normalmente public double obterSaldo ( ) { inicializam os atributos da return saldo; classe. } }Variáveis em Java ©2012 Ludimila Monjardim Casagrande 8
  • 9. Variáveis e Inicialização  Como vimos, os atributos são automaticamente inicializados com um valor default de acordo com o seu tipo, caso não tenham sido explicitamente inicializados na sua declaração.  Variáveis de método não são automaticamente inicializadas e, portanto, seus valores iniciais devem ser obrigatoriamente definidos de forma explícita antes de serem utilizadas.Variáveis em Java ©2012 Ludimila Monjardim Casagrande 9
  • 10. Exemplo de Variáveis de Método  Método 1: public int errado( ) { int i; return i+5; Erro de compilação na linha 3 }  Método 2: public int certo( ) { int i = 0; Variáveis locais devem ser inicializadas return i+5; antes de serem utilizadas }Variáveis em Java ©2012 Ludimila Monjardim Casagrande 10
  • 11. Exemplo de Variáveis de Método public class Principal { public static void main (String[ ] args) { Conta c = new Conta( ); int i = 0; Se as variáveis c e i não while (i < 10) { forem explicitamente c.creditar(i); inicializadas ocorre erro de compilação. i++; } System.out.println(c.obterSaldo()); } Obs.: Debugar para observar o } comportamento.Variáveis em Java ©2012 Ludimila Monjardim Casagrande 11
  • 12. Alocação de Memória em Java  Revisando o exemplo:  Data hoje = new Data(21, 10, 2006); hoje ? hoje 0x0123 dia 0 dia 21 mes 0 mes 10 ano 0 ano 2006Variáveis em Java ©2012 Ludimila Monjardim Casagrande 12
  • 13. Alocação de Memória em Java  Quando um objeto é criado, pela chamada de new <construtor>, os seguintes passos acontecem: 1. Um espaço de memória é alocado para o objeto criado e suas variáveis de instância são inicializadas com seus valores default 2. As inicializações explícitas programadas para as variáveis de instância são realizadas 3. O construtor chamado é executado 4. O endereço de memória no qual o objeto está alocado é retornado e atribuído para a variável que referencia o objetoVariáveis em Java ©2012 Ludimila Monjardim Casagrande 13
  • 14. Exemplo Após Data b = a; public class Teste { x 8 public static void main(String[] args) { y 7 a 0x0123 int x = 7; 21 10 2006 b 0x0123 int y = x; x = 8; Data a = new Data(21, 10, 2006); Data b = a; Após a = new Data(28, 10,2006); x 8 a = new Data(28, 10, 2006); 7 y } a 0x0456 28 10 2006 } b 0x0123 21 10 2006 Quais são os resultados finais?Variáveis em Java ©2012 Ludimila Monjardim Casagrande 14