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 è un insieme di programmi. Pertanto, un software può essere progettato e implementato utilizzando gli oggetti. Gli oggetti vengono interagiti utilizzando metodi. La programmazione orientata agli oggetti migliora la modularità e la riutilizzabilità 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. In 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 quelle variabili sono chiamate variabili di istanza.
Cosa sono le variabili di classe?
Quando c'è solo una 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
Fai riferimento al codice seguente con le variabili di classe.
Dipendente pubblico {
ID int statico pubblico;
doppio stipendio statico pubblico;
}
Test di classe pubblica {
public static void main(string args){
Dipendente e1=nuovo impiegato();
Dipendente e2=nuovo impiegato();
}
}
Secondo il programma sopra, e1 ed e2 sono oggetti di tipo Impiegato. Entrambi avranno la stessa copia di memoria. Se e1.id=1 e la stampa di e2.id darà anche il valore 1. È possibile stampare i valori id e stipendio usando il nome della classe Dipendente come Dipendente.id, salario.impiegato ecc.
Cosa sono le variabili di istanza?
Quando ogni istanza della classe ha la propria copia della variabile, allora quelle variabili sono conosciute come variabili di istanza. Fare riferimento al programma sottostante.
Dipendente pubblico {
ID int pubblico;
doppio stipendio pubblico;
}
Test di classe pubblica{
public static void main(string args){
Dipendente e1=nuovo impiegato();
e1.id=1;
e1.salario=20000;
Dipendente e2=nuovo impiegato();
e2.id=2;
e2. stipendio=25000;
}
}
Nel programma principale, e1 ed e2 sono riferimenti agli oggetti di tipo Impiegato. È possibile assegnare valori per id e stipendio utilizzando l'operatore punto come e1.id, e1. stipendio ecc. L'ID e lo stipendio nella classe Dipendente sono noti come variabili di istanza. L'e1 e l'e2 sono oggetti separati. Ogni oggetto avrà una copia separata delle variabili di istanza. L'e1 avrà un ID e uno stipendio separati e l'e2 avrà un ID e uno stipendio separati. Pertanto, 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 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 devono 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 usando gli oggetti. Gli oggetti vengono creati utilizzando le classi. La creazione di oggetti è anche nota come istanza. 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 delle variabili di classe e istanza
Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui: Differenza tra le variabili di classe e istanza