Diferença entre variáveis ​​de classe e instância

Diferença-chave - Classe vs Variáveis ​​de instância
 

A maioria das linguagens de programação modernas oferece suporte à programação orientada a objetos. Um objeto contém dados ou atributos. Um objeto tem certos comportamentos. Eles são conhecidos como métodos. Um programa pode ser modelado usando objetos. Um software é uma coleção de programas. Portanto, um software pode ser projetado e implementado usando objetos. Os objetos são interagidos usando métodos. A programação orientada a objetos melhora a modularidade e a reutilização do código. Deve haver uma classe para criar objetos. Uma classe é um blueprint para criar um objeto. Portanto, um objeto é uma instância de uma classe. Na programação, os dados precisavam ser armazenados. Os dados são armazenados em locais de memória. Esses locais de memória são chamados de variáveis. Uma variável de membro é uma variável associada a um objeto específico. É acessível para todos os seus métodos. Existem dois tipos de variáveis ​​de membro que são variáveis ​​de classe e variáveis ​​de instância. o diferença chave entre variáveis ​​de classe e instância é que, se houver apenas uma cópia da variável compartilhada com todas as instâncias da classe, essas variáveis ​​serão chamadas de variáveis ​​de classe e se cada instância da classe tiver sua própria cópia da variável, essas variáveis ​​serão chamadas de variáveis ​​de instância.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que são variáveis ​​de classe
3. O que são variáveis ​​de instância
4. Semelhanças entre variáveis ​​de classe e instância
5. Comparação lado a lado - variáveis ​​de classe versus instância em forma de tabela
6. Resumo

O que são variáveis ​​de classe?

Quando há apenas uma cópia da variável compartilhada com todas as instâncias da classe, essas variáveis ​​são chamadas como variáveis ​​de classe. Variáveis ​​de classe são variáveis ​​declaradas dentro da classe fora de qualquer método. Essas variáveis ​​contêm a palavra-chave static.Estas variáveis ​​estão associadas à classe, não ao objeto.

Figura 01: Variáveis ​​de classe e variáveis ​​de instância

Consulte o trecho de código abaixo com variáveis ​​de classe.

public class Employee

public int int id;

salário duplo estático público;

Teste de classe pública

public static void main (string [] args)

Funcionário e1 = novo funcionário ();

Funcionário e2 = novo funcionário ();

De acordo com o programa acima, e1 e e2 são objetos do tipo Funcionário. Ambos terão a mesma cópia da memória. Se e1.id = 1 e imprimir e2.id também fornecerão o valor 1. É possível imprimir os valores de id e salário usando o nome da classe Employee, como Employee.id, Employee.salary etc..

O que são variáveis ​​de instância?

Quando cada instância da classe possui sua própria cópia da variável, essas variáveis ​​são conhecidas como variáveis ​​de instância. Consulte o programa abaixo.

public class Employee

public int id;

salário duplo público;

Teste de classe pública

public static void main (string [] args)

Funcionário e1 = novo funcionário ();

e1.id = 1;

e1.salary = 20000;

Funcionário e2 = novo funcionário ();

e2.id = 2;

e2 salário = 25000;

No programa principal, e1 e e2 são referências aos objetos do tipo Employee. É possível atribuir valores para identificação e salário usando o operador de ponto como e1.id, e1. salário etc. O id e salário na classe Employee são conhecidos como variáveis ​​de instância. O e1 e o e2 são objetos separados. Cada objeto terá uma cópia separada das variáveis ​​da instância. O e1 terá identificação e salário separados e e2 terá identificação e salário separados. Portanto, as variáveis ​​da instância são criadas quando o objeto ou a instância é criada.

Quais são as semelhanças entre variáveis ​​de classe e instância?

  • Ambos são tipos de variáveis.
  • Ambas as variáveis ​​estão dentro de uma classe, mas fora de qualquer método.

Qual é a diferença entre variáveis ​​de classe e instância?

Variáveis ​​de classe versus variáveis ​​de instância

Variáveis ​​de classe são variáveis ​​nas quais há apenas uma cópia da variável compartilhada com toda a instância da classe. Variáveis ​​de instância são variáveis ​​quando cada instância da classe possui sua própria cópia da variável.
 Associação
Variáveis ​​de classe estão associadas à classe. Variáveis ​​de instância estão associadas a objetos.
Número de cópias
Variáveis ​​de classe criam uma cópia para todos os objetos. Variáveis ​​de instância criam cópia separada para cada objeto.
 Palavras-chave
Variáveis ​​de classe devem ter a palavra-chave estática. Variáveis ​​de instância não requerem uma palavra-chave especial, como static.

Resumo - Classe vs Variáveis ​​de instância

A programação orientada a objetos é o principal paradigma de programação. Ajuda a modelar um software usando objetos. Objetos são criados usando classes. A criação de objetos também é conhecida como instanciação. Uma classe fornece um blueprint para criar um objeto. Uma variável de membro é uma variável associada a um objeto específico. É acessível para todos os seus métodos. Existem dois tipos de variáveis ​​de membro como, variáveis ​​de classe e variáveis ​​de instância. A diferença entre variáveis ​​de classe e instância é que, se houver apenas uma cópia da variável compartilhada com todas as instâncias da classe, essas variáveis ​​serão chamadas de variáveis ​​de classe e se cada instância da classe tiver sua própria cópia da variável, essas variáveis ​​são chamadas variáveis ​​de instância.

Faça o download da versão em PDF das variáveis ​​de classe versus instância

Você pode fazer o download da versão em PDF deste artigo e usá-la para fins offline, conforme nota de citação. Faça o download da versão em PDF aqui: Diferença entre variáveis ​​de classe e instância

Referência:

1.tutorialspoint.com. "Objeto e classes Java". O ponto. Disponivel aqui
2. "Variável de instância". Wikipedia, Wikimedia Foundation, 16 de dezembro de 2017. Disponível aqui   
3. "Variável de classe". Wikipedia, Wikimedia Foundation, 16 de dezembro de 2017. Disponível aqui