Diferența cheie - Variabile de clasă vs instanță
Majoritatea limbajelor de programare moderne acceptă programarea orientată pe obiecte. Un obiect conține date sau atribute. Un obiect are anumite comportamente. Sunt cunoscute ca metode. Un program poate fi modelat folosind obiecte. Un software este o colecție de programe. Prin urmare, un software poate fi proiectat și implementat folosind obiecte. Obiectele sunt interacționate folosind metode. Programarea orientată pe obiecte îmbunătățește modularitatea și reutilizarea codului. Ar trebui să existe o clasă pentru a crea obiecte. O clasă este un plan pentru a crea un obiect. Prin urmare, un obiect este o instanță a unei clase. În programare, datele trebuiau stocate. Datele sunt stocate în locații de memorie. Aceste locații de memorie se numesc variabile. O variabilă membru este o variabilă care este asociată cu un anumit obiect. Este accesibil pentru toate metodele sale. Există două tipuri de variabile membre care sunt variabile de clasă și variabile de instanță. Diferența cheie între variabilele de clasă și instanță este că, dacă există o singură copie a variabilei partajată cu toate instanțele clasei, acele variabile se numesc variabile de clasă și dacă fiecare instanță a clasei are propria copie a variabilei, atunci acele variabile se numesc variabile de instanță.
CUPRINS
1. Prezentare generală și diferența cheie
2. Ce sunt variabilele de clasă
3. Ce sunt variabilele de instanță
4. Asemănări între variabilele de clasă și instanță
5. Comparație side by side - Variabile de clasă vs instanță în formă tabelară
6. Rezumat
Ce sunt variabilele de clasă?
Când există o singură copie a variabilei partajată cu toate instanțele clasei, acele variabile sunt numite variabile de clasă. Variabilele de clasă sunt variabile declarate în cadrul clasei în afara oricărei metode. Aceste variabile conțin cuvântul cheie static. Aceste variabile sunt asociate cu clasa, nu cu obiectul.
Figura 01: Variabile de clasă și variabile de instanță
Consultați codul de mai jos cu variabile de clasă.
public class Employee {
id static int public;
salariu public dublu static;
}
public class Test {
public static main main (șir args) {
Angajat e1 = angajat nou ();
Angajat e2 = angajat nou ();
}
}
Conform programului de mai sus, e1 și e2 sunt obiecte de tip Angajat. Ambele vor avea aceeași copie a memoriei. Dacă e1.id = 1 și imprimarea e2.id va da, de asemenea, valoarea 1. Este posibil să imprimați ID-ul și valorile salariale utilizând numele clasei de angajați, cum ar fi Employee.id, Employee.salary etc.
Ce sunt variabilele de instanță?
Când fiecare instanță a clasei are propria copie a variabilei, atunci acele variabile sunt cunoscute ca variabile de instanță. Consultați programul de mai jos.
public class Employee {
public int id;
salariu public dublu;
}
public class Test {
public static main main (șir args) {
Angajat e1 = angajat nou ();
e1.id = 1;
e1.salariu = 20000;
Angajat e2 = angajat nou ();
e2.id = 2;
e2. salariu = 25000;
}
}
În programul principal, e1 și e2 sunt referințe la obiectele de tip Angajat. Este posibil să atribuiți valori pentru id și salariu folosind operatorul punct, cum ar fi e1.id, e1. salariu etc. Identitatea și salariul din clasa Angajat sunt cunoscute ca variabile de instanță. E1 și e2 sunt obiecte separate. Fiecare obiect va avea o copie separată a variabilelor de instanță. E1 va avea id și salariu separat și e2 va avea un id și salariu separat. Deci, variabilele de instanță sunt create atunci când se creează obiectul sau instanța.
Care sunt asemănările dintre variabilele de clasă și de instanță?
- Ambele sunt tipuri de variabile.
- Ambele variabile se află în interiorul unei clase, dar în afara oricărei metode.
Care este diferența dintre variabilele de clasă și instanță?
Difuzarea articolului din mijloc înainte de tabel
Variabile de clasă vs. Variabile de instanță |
|
Variabilele de clasă sunt variabile în care există o singură copie a variabilei partajată cu toate instanțele clasei. | Variabilele de instanță sunt variabile atunci când fiecare instanță a clasei are propria copie a variabilei. |
Asociere | |
Variabilele de clasă sunt asociate clasei. | Variabilele de instanță sunt asociate cu obiectele. |
Numarul copiilor | |
Variabilele de clasă creează o copie pentru toate obiectele. | Variabilele de instanță creează o copie separată pentru fiecare obiect. |
Cuvinte cheie | |
Variabilele de clasă trebuie să aibă cuvântul cheie static. | Variabilele de instanță nu necesită un cuvânt cheie special, cum ar fi static. |
Rezumat - Variabile de clasă vs instanță
Programarea orientată pe obiecte este paradigma majoră de programare. Ajută la modelarea unui software folosind obiecte. Obiectele sunt create folosind clase. Crearea obiectelor este, de asemenea, cunoscută sub numele de instanțiere. O clasă oferă un plan pentru a crea un obiect. O variabilă membru este o variabilă care este asociată cu un anumit obiect. Este accesibil pentru toate metodele sale. Există două tipuri de variabile membre, precum variabile de clasă și variabile de instanță. Diferența dintre variabilele de clasă și instanță este că, dacă există o singură copie a variabilei partajată cu toate instanțele clasei, acele variabile se numesc variabile de clasă și dacă fiecare instanță a clasei are propria copie a variabilei, atunci acelea variabilele se numesc variabile de instanță.
Descărcați versiunea PDF a variabilelor de clasă vs instanță
Puteți descărca versiunea PDF a acestui articol și o puteți folosi în scopuri offline conform notei de citare. Vă rugăm să descărcați versiunea PDF aici: Diferența dintre variabilele de clasă și de instanță