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

Índice:

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

Vídeo: Diferença entre variáveis de classe e instância

Vídeo: Diferença entre variáveis de classe e instância
Vídeo: Curso de Java - Variáveis de Classe e Variáveis de Instância - Orientação a Objetos 2024, Julho
Anonim

Key Difference – Variáveis de Classe vs Instância

A maioria das linguagens de programação modernas suporta 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. 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 modelo 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 que está 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 de 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, então essas variáveis são chamadas de variáveis de instância.

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 static. Essas variáveis são associadas à classe, não ao objeto.

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

Figura 01: Variáveis de Classe e Variáveis de Instância

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

classe pública Funcionário {

public static int id;

salário duplo estático público;

}

classe pública Teste {

public static void main(string args){

Funcionário e1=new Funcionário();

Funcionário e2=new 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 dará o valor 1. É possível imprimir os valores de id e salário usando o nome da classe Employee como Employee.id, funcionário.salário 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, então essas variáveis são conhecidas como variáveis de instância. Consulte o programa abaixo.

classe pública Funcionário {

public int id;

salário duplo público;

}

classe pública Teste{

public static void main(string args){

Funcionário e1=new Funcionário();

e1.id=1;

e1.salary=20000;

Funcionário e2=new 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 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 o e2 terá um id e salário separados. Assim, 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 de instância?

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 todas as instâncias 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 estã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. As variáveis de instância criam uma 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 – Variáveis de Classe vs Instância

Programação orientada a objetos é o principal paradigma de programação. Ajuda a 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 que está associada a um objeto específico. É acessível para todos os seus métodos. Existem dois tipos de variáveis de membro, variáveis de classe e variáveis de instância. A diferença entre variáveis de classe e de 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 tiver sua própria cópia da variável, então essas variáveis variáveis são chamadas de variáveis de instância.

Baixe a versão em PDF das variáveis de classe vs instância

Você pode baixar a 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

Recomendado: