Diferença entre variável de instância e variável local

Diferença entre variável de instância e variável local
Diferença entre variável de instância e variável local

Vídeo: Diferença entre variável de instância e variável local

Vídeo: Diferença entre variável de instância e variável local
Vídeo: A Creche Perfeita - LDB | Educação Infantil 2024, Julho
Anonim

Variável de Instância vs Variável Local

Uma variável de instância é um tipo de variável que está presente na programação orientada a objetos. É uma variável que é definida em uma classe, e cada objeto dessa classe contém uma cópia separada dessa variável. Por outro lado, o uso de variáveis locais não se limita às linguagens de programação orientadas a objetos. É uma variável que pode ser avaliada apenas dentro de um determinado bloco de código (por exemplo, função, bloco de loop, etc.) no qual está definida. Por esse motivo, diz-se que as variáveis locais têm escopo local.

O que é uma variável de instância?

As variáveis de instância são usadas na programação orientada a objetos para armazenar o estado de cada objeto em uma classe. Eles também são conhecidos como variáveis de membro ou variáveis de campo. As variáveis de instância são declaradas sem usar a palavra-chave estática em Java. Os valores armazenados nas variáveis de instância são exclusivos para cada objeto (cada objeto possui uma cópia separada) e os valores armazenados neles representam o estado desse objeto. O espaço para uma variável de instância é alocado no heap, quando esse objeto é alocado no heap. Portanto, as variáveis de instância são mantidas na memória enquanto o objeto estiver ativo. Por exemplo, a cor de um carro é independente da cor de outro carro. Assim, a cor de um objeto carro pode ser armazenada em uma variável de instância. Na prática, variáveis de instância são declaradas dentro de classes e fora de métodos. Normalmente, as variáveis de instância são declaradas como privadas para que possam ser acessadas apenas dentro da classe em que foi declarada.

O que é uma variável local?

Variáveis locais são variáveis com escopo local e são declaradas dentro de um bloco de código específico. Variáveis locais podem ser vistas como variáveis que são usadas por um método para armazenar seu estado temporário. O escopo de uma variável local é determinado usando o local em que a variável é declarada e palavras-chave especiais não são usadas para essa finalidade. Normalmente, o acesso a uma variável local é limitado dentro do bloco de código que é declarado (ou seja, entre as chaves de abertura e fechamento desse bloco de código). As variáveis locais são normalmente armazenadas na pilha de chamadas. Isso permitiria que chamadas de função recursivas mantivessem suas próprias cópias das variáveis locais a serem armazenadas em espaços de endereço de memória separados. Quando o método termina sua execução, as informações sobre esse método são retiradas da pilha de chamadas, destruindo também as variáveis locais que foram armazenadas.

Qual é a diferença entre Variável de Instância e Variável Local?

As variáveis de instância são declaradas dentro de classes fora dos métodos e armazenam o estado de um objeto, enquanto as variáveis locais são declaradas dentro de blocos de código e são usadas para armazenar o estado de um método. Uma variável de instância está ativa enquanto o objeto que contém essa variável estiver ativo, enquanto uma variável local está ativa durante a execução desse método/bloco de código. Uma variável de instância (que é declarada pública) pode ser acessada dentro da classe, enquanto uma variável local só pode ser acessada dentro do bloco de código declarado. O uso de variáveis de instância é limitado apenas à programação orientada a objetos, enquanto as variáveis locais não possuem tal limitação.

Recomendado: