Differenza tra le variabili di classe e di istanza

Differenza chiave - Classe vs Variabili di istanza
 

La maggior parte dei moderni linguaggi di programmazione supporta la programmazione orientata agli oggetti. Un oggetto contiene dati o attributi. Un oggetto ha determinati comportamenti. Sono conosciuti come metodi. Un programma può essere modellato usando gli oggetti. Un software è una raccolta di programmi. Pertanto, un software può essere progettato e implementato utilizzando oggetti. Gli oggetti sono interagiti usando i metodi. La programmazione orientata agli oggetti migliora la modularità e la riusabilità del codice. Ci dovrebbe essere una classe per creare oggetti. Una classe è un progetto per creare un oggetto. Pertanto, un oggetto è un'istanza di una classe. Nella programmazione, i dati necessari per essere memorizzati. I dati sono memorizzati in posizioni di memoria. Queste posizioni di memoria sono chiamate variabili. Una variabile membro è una variabile associata a un oggetto specifico. È accessibile a tutti i suoi metodi. Esistono due tipi di variabili membro che sono variabili di classe e variabili di istanza. Il differenza fondamentale tra le variabili di classe e di istanza è quello, se c'è una sola copia della variabile condivisa con tutte le istanze della classe, quelle variabili sono chiamate variabili di classe e se ogni istanza della classe ha la propria copia della variabile, allora tali variabili sono chiamate variabili d'istanza.

CONTENUTO

1. Panoramica e differenza chiave
2. Cosa sono le variabili di classe
3. Cosa sono le variabili di istanza
4. Somiglianze tra variabili di classe e di istanza
5. Confronto fianco a fianco - Variabili di classe vs istanza in forma tabulare
6. Sommario

Cosa sono le variabili di classe?

Quando c'è una sola copia della variabile condivisa con tutte le istanze della classe, quelle variabili sono chiamate come variabili di classe. Le variabili di classe sono variabili dichiarate all'interno della classe al di fuori di qualsiasi metodo. Queste variabili contengono la parola chiave static.Queste variabili sono associate alla classe, non all'oggetto.

Figura 01: variabili di classe e variabili di istanza

Riferisci la parte di codice seguente con le variabili di classe.

Dipendente di classe pubblica

int id statico pubblico;

doppio stipendio statico pubblico;

test di classe pubblica

public static void main (string [] args)

Employee e1 = new Employee ();

Employee e2 = new Employee ();

Secondo il programma precedente, e1 ed e2 sono oggetti di tipo Employee. Entrambi avranno la stessa copia di memoria. Se e1.id = 1 e stampa e2.id fornirà anche il valore 1. È possibile stampare i valori id e salary usando il nome della classe Employee come Employee.id, Employee.salary etc.

Cosa sono le variabili di istanza?

Quando ogni istanza della classe ha una propria copia della variabile, allora tali variabili sono note come variabili di istanza. Fare riferimento al programma seguente.

Dipendente di classe pubblica

int id pubblico;

doppio stipendio pubblico;

test di classe pubblica

public static void main (string [] args)

Employee e1 = new Employee ();

e1.id = 1;

e1.salary = 20000;

Employee e2 = new Employee ();

e2.id = 2;

e2. salario = 25000;

Nel programma principale, e1 ed e2 sono riferimenti agli oggetti di tipo Employee. È possibile assegnare valori per id e salario usando l'operatore punto come e1.id, e1. salario ecc. L'id e lo stipendio nella classe Employee sono noti come variabili di istanza. E1 ed e2 sono oggetti separati. Ogni oggetto avrà una copia separata delle variabili di istanza. L'e1 avrà ID e salario separati e e2 avrà un ID e uno stipendio separati. Quindi, le variabili di istanza vengono create quando viene creato l'oggetto o l'istanza.

Quali sono le somiglianze tra le variabili di classe e di istanza?

  • Entrambi sono tipi di variabili.
  • Entrambe le variabili sono all'interno di una classe ma al di fuori di qualsiasi metodo.

Qual è la differenza tra le variabili di classe e di istanza?

Variabili di classe e variabili di istanza

Le variabili di classe sono variabili in cui esiste solo una copia della variabile condivisa con tutte le istanze della classe. Le variabili di istanza sono variabili quando ogni istanza della classe ha la propria copia della variabile.
 Associazione
Le variabili di classe sono associate alla classe. Le variabili di istanza sono associate agli oggetti.
Numero di copie
Le variabili di classe creano una copia per tutti gli oggetti. Le variabili di istanza creano una copia separata per ogni oggetto.
 parole
Le variabili di classe dovrebbero avere la parola chiave statica. Le variabili di istanza non richiedono una parola chiave speciale come statica.

Riepilogo - Classe vs Variabili di istanza

La programmazione orientata agli oggetti è il principale paradigma di programmazione. Aiuta a modellare un software usando oggetti. Gli oggetti sono creati usando le classi. La creazione dell'oggetto è anche nota come istanziazione. Una classe fornisce un progetto per creare un oggetto. Una variabile membro è una variabile associata a un oggetto specifico. È accessibile a tutti i suoi metodi. Esistono due tipi di variabili membro come, variabili di classe e variabili di istanza. La differenza tra le variabili di classe e di istanza è che, se c'è una sola copia della variabile condivisa con tutte le istanze della classe, quelle variabili sono chiamate variabili di classe e se ciascuna istanza della classe ha la propria copia della variabile, allora quelle le variabili sono chiamate variabili d'istanza.

Scarica la versione PDF di Class vs Variabili di istanza

È possibile scaricare la versione PDF di questo articolo e utilizzarlo per scopi offline come da nota di citazione. Scarica qui la versione PDF: Differenza tra le variabili di classe e di istanza

Riferimento:

1.tutorialspoint.com. "Oggetti e classi Java".  Il punto. Disponibile qui
2. "Variabile di istanza." Wikipedia, Wikimedia Foundation, 16 dic. 2017. Disponibile qui   
3. "Variabile di classe." Wikipedia, Wikimedia Foundation, 16 dic. 2017. Disponibile qui