Differenza chiave - Variabili di classe e istanza
La maggior parte dei linguaggi di programmazione moderni 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 utilizzando oggetti. Un software è una raccolta di programmi. Pertanto, un software può essere progettato e implementato utilizzando oggetti. Gli oggetti vengono interagiti utilizzando metodi. La programmazione orientata agli oggetti migliora la modularità e la riusabilità del codice. Dovrebbe esserci 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 dovevano essere memorizzati. I dati vengono archiviati in posizioni di memoria. Queste posizioni di memoria sono chiamate variabili. Una variabile membro è una variabile associata a un oggetto specifico. È accessibile per tutti i suoi metodi. Esistono due tipi di variabili membro che sono variabili di classe e variabili di istanza. La differenza fondamentale tra le variabili di classe e di istanza è che, se c'è solo una 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 queste variabili sono chiamate variabili di istanza.
CONTENUTI
1. Panoramica e differenza principale
2. Cosa sono le variabili di classe
3. Cosa sono le variabili di istanza
4. Somiglianze tra variabili di classe e istanza
5. Confronto affiancato - Variabili di classe e istanza in forma tabulare
6. Riepilogo
Cosa sono le variabili di classe?
Quando c'è una sola copia della variabile condivisa con tutte le istanze della classe, quelle variabili vengono 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
Fare riferimento alla parte di codice sottostante con le variabili di classe.
public class Employee {
public static int id;
doppio stipendio statico pubblico;
}
public class Test {
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 della memoria. Se e1.id = 1 e la stampa di e2.id darà anche il valore 1. È possibile stampare i valori id e salary utilizzando il nome della classe Employee come Employee.id, Employee.salary ecc.
Cosa sono le variabili di istanza?
Quando ogni istanza della classe ha la propria copia della variabile, queste variabili sono note come variabili di istanza. Fare riferimento al programma seguente.
public class Employee {
public int id;
doppio stipendio pubblico;
}
public class Test {
public static void main (string args) {
Employee e1 = new Employee ();
e1.id = 1;
e1. stipendio = 20000;
Employee e2 = new Employee ();
e2.id = 2;
e2. stipendio = 25000;
}
}
Nel programma principale, e1 ed e2 sono riferimenti agli oggetti di tipo Employee. È possibile assegnare valori per id e salary utilizzando l'operatore punto come e1.id, e1. stipendio 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 stipendio separati e e2 avrà ID e 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?
Articolo diff. Al centro prima della tabella
Variabili di classe vs variabili di istanza |
|
Le variabili di classe sono variabili in cui è presente una sola 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 chiave | |
Le variabili di classe dovrebbero avere la parola chiave statica. | Le variabili di istanza non richiedono una parola chiave speciale come static. |
Riepilogo: variabili di classe e istanza
La programmazione orientata agli oggetti è il principale paradigma di programmazione. Aiuta a modellare un software utilizzando oggetti. Gli oggetti vengono creati utilizzando le classi. La creazione di oggetti è anche nota come creazione di istanze. Una classe fornisce un progetto per creare un oggetto. Una variabile membro è una variabile associata a un oggetto specifico. È accessibile per 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'è solo una 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 quelle le variabili sono chiamate variabili di istanza.
Scarica la versione PDF di Class vs Instance Variables
È possibile scaricare la versione PDF di questo articolo e utilizzarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui: Differenza tra variabili di classe e istanza