Diferença chave - variáveis de classe vs 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 capacidade de reutilização do código. Deve haver uma classe para criar objetos. Uma classe é um projeto 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. A principal 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 são chamadas de variáveis de classe e se cada instância da classe tem sua própria cópia da variável, então essas variáveis são chamadas de variáveis de instância.
CONTEÚDO
1. Visão geral e diferença principal
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 vs instância em formato tabular
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 de 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 estática. Essas variáveis estão associadas à classe, não ao objeto.
Figura 01: Variáveis de classe e variáveis de instância
Consulte o código abaixo com variáveis de classe.
public class Employee {
public static int id;
duplo salário estático público;
}
public class Test {
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 Employee. Ambos terão a mesma cópia de memória. Se e1.id = 1 e imprimir e2.id também fornecerá 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 tem 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;
duplo salário público;
}
public class Test {
public static void main (string args) {
Funcionário e1 = novo Funcionário ();
e1.id = 1;
e1.salário = 20.000;
Funcionário e2 = novo funcionário ();
e2.id = 2;
e2. salário = 25.000;
}
}
No programa principal, e1 e e2 são referências aos objetos do tipo Employee. É possível atribuir valores para id e salário usando o operador ponto, como e1.id, e1. salário etc. O id e o salário na classe Employee são conhecidos como variáveis de instância. O e1 e e2 são objetos separados. Cada objeto terá uma cópia separada das variáveis de instância. O e1 terá id e salário separados e e2 terá id e salário separados. Portanto, as variáveis de 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?
Artigo Diff meio antes da tabela
Variáveis de classe vs 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 tem sua própria cópia da variável. |
Associação | |
Variáveis de classe são associadas à classe. | Variáveis de instância sã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ópias separadas 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 - Variáveis de classe vs instância
A programação orientada a objetos é o principal paradigma de programação. Ajuda modelar um software usando objetos. Os 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 são chamadas de variáveis de classe e se cada instância da classe tem sua própria cópia da variável, então essas variáveis são chamadas de variáveis de instância.
Baixe a versão em PDF de variáveis de classe vs instância
Você pode baixar a versão em PDF deste artigo e usá-la para fins off-line de acordo com a nota de citação. Faça o download da versão em PDF aqui: Diferença entre variáveis de classe e instância