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