SlideShare uma empresa Scribd logo
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
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
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
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
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
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
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
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
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
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
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
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             2006




Variáveis em Java         ©2012 Ludimila Monjardim Casagrande          12
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 objeto

Variáveis em Java           ©2012 Ludimila Monjardim Casagrande      13
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

Mais conteúdo relacionado

PDF
Aula 06 vetores e matrizes
PDF
PPTX
PDF
HTML, CSS et Javascript
PDF
Appalications JEE avec Servlet/JSP
PPT
Manipulation des Données , cours sql oracle
PDF
Virtuals LAN
DOCX
SDN Training - Open daylight installation + example with mininet
Aula 06 vetores e matrizes
HTML, CSS et Javascript
Appalications JEE avec Servlet/JSP
Manipulation des Données , cours sql oracle
Virtuals LAN
SDN Training - Open daylight installation + example with mininet

Mais procurados (20)

PDF
POO - 01 - Introdução ao Paradigma Orientado a Objetos
PPT
PDF
Protocolo MQTT - Redes de Computadores
PDF
Python avancé : Interface graphique et programmation évènementielle
PDF
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
PDF
exercice adressage_IP_l_adresse_IP.pdf
PPTX
Chapitre 6 - Protocoles TCP/IP, UDP/IP
PPTX
Introduction à Python
PDF
Polymorphisme (cours, résumé)
PPTX
JAVA - Orientação a Objetos
PPT
L'Ordre SELECT Élémentaire | SQL Oracle
PDF
Support du cours : Programmation Web 2
PDF
Aula 02 - Principios da Orientação a Objetos (POO)
PDF
Python avancé : Lecture et écriture de fichiers
PDF
Tp2 - WS avec JAXRS
PDF
Introduction à Python - Achraf Kacimi El Hassani
PDF
Cours routage inter-vlan
PDF
Alphorm.com Formation KVM
PDF
Orientação a Objetos em Python
PDF
POO - 10 - Herança
POO - 01 - Introdução ao Paradigma Orientado a Objetos
Protocolo MQTT - Redes de Computadores
Python avancé : Interface graphique et programmation évènementielle
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
exercice adressage_IP_l_adresse_IP.pdf
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Introduction à Python
Polymorphisme (cours, résumé)
JAVA - Orientação a Objetos
L'Ordre SELECT Élémentaire | SQL Oracle
Support du cours : Programmation Web 2
Aula 02 - Principios da Orientação a Objetos (POO)
Python avancé : Lecture et écriture de fichiers
Tp2 - WS avec JAXRS
Introduction à Python - Achraf Kacimi El Hassani
Cours routage inter-vlan
Alphorm.com Formation KVM
Orientação a Objetos em Python
POO - 10 - Herança
Anúncio

Semelhante a POO - 04 - Variávies em Java (20)

PDF
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
PDF
POO - 03 - Alocação de Memória em Java
PDF
Programação orientada a objetos – III
PDF
Curso java 03 - métodos e parâmetros
PPTX
Poo1 aula 4 - tipos de dados variáveis-constantes - copia
PPTX
Poo1 aula 4 - tipos de dados variáveis-constantes
PPTX
Poo1 aula 4 - tipos de dados variáveis-constantes
PPTX
Variáveis
PPT
Aula4
PDF
Java orientação a objetos (variaveis de instancia e metodos)
PDF
Guia Rápido de Referência Java
PDF
Java e orientação a objetos - aula 01
PPTX
Curso Java Básico - Aula 01
PDF
7194099-Manual-de-Java
PPT
Java Desktop
PPTX
Curso de Java 2 - (PrimeiroPrograma, Variáveis, Tipos e Operadores.pptx
PDF
Curso java 02 - variáveis
PPTX
Curso Java Básico - Aula02
PDF
Curso de java 02
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 03 - Alocação de Memória em Java
Programação orientada a objetos – III
Curso java 03 - métodos e parâmetros
Poo1 aula 4 - tipos de dados variáveis-constantes - copia
Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantes
Variáveis
Aula4
Java orientação a objetos (variaveis de instancia e metodos)
Guia Rápido de Referência Java
Java e orientação a objetos - aula 01
Curso Java Básico - Aula 01
7194099-Manual-de-Java
Java Desktop
Curso de Java 2 - (PrimeiroPrograma, Variáveis, Tipos e Operadores.pptx
Curso java 02 - variáveis
Curso Java Básico - Aula02
Curso de java 02
Anúncio

Mais de Ludimila Monjardim Casagrande (20)

PDF
Gerenciamento Ágil de Projetos com Scrum
PDF
POO - 23 - Coleções da API do Java
PDF
POO - 22 - Tratamento de Exceções em Java
PDF
POO - 21 - Java e Banco de Dados
PDF
POO - 20 - Wrapper Classes
PDF
POO - 19 - Elementos Estáticos
PDF
POO - 18 - Sobrecarga e Sobreposição de Métodos
PDF
POO - 17 - Interfaces
PDF
POO - 16 - Polimorfismo
PDF
POO - 15 - Passagem de Argumentos
PDF
POO - 14 - Vetores
PDF
POO - 13 - Arrays em Java
PDF
POO - 12 - A Classe Object
PDF
POO - 11 - Prática de Herança
PDF
POO - 09 - Entradas e Saídas em Java
PDF
POO - 08 - Prática de Encapsulamento
PDF
POO - 07 - Operadores do Java
PDF
POO - 05 - Ambiente de Desenvolvimento
PDF
POO - 06 - Encapsulamento
PDF
POO - 24 - Classes Básicas do Java - Datas
Gerenciamento Ágil de Projetos com Scrum
POO - 23 - Coleções da API do Java
POO - 22 - Tratamento de Exceções em Java
POO - 21 - Java e Banco de Dados
POO - 20 - Wrapper Classes
POO - 19 - Elementos Estáticos
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 17 - Interfaces
POO - 16 - Polimorfismo
POO - 15 - Passagem de Argumentos
POO - 14 - Vetores
POO - 13 - Arrays em Java
POO - 12 - A Classe Object
POO - 11 - Prática de Herança
POO - 09 - Entradas e Saídas em Java
POO - 08 - Prática de Encapsulamento
POO - 07 - Operadores do Java
POO - 05 - Ambiente de Desenvolvimento
POO - 06 - Encapsulamento
POO - 24 - Classes Básicas do Java - Datas

POO - 04 - Variávies em Java

  • 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 2006 Variá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 objeto Variá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