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 sunt numite 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 dintre variabilele de clasă și de instanță este că, dacă există o singură copie a variabilei partajată cu toate instanța 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ță.
Ce sunt variabilele clasei?
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 variabilele clasei.
angajat de clasă publică {
public static int id;
salariu public dublu static;
}
test de clasă publică {
public static void main(string args){
Angajat e1=Angajat nou();
Angajat e2=Angajat nou();
}
}
Conform programului de mai sus, e1 și e2 sunt obiecte de tip Employee. 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ă tipăriți ID-ul și valorile salariului folosind numele clasei Angajat, cum ar fi Angajat. ID, salariu.angajat 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.
angajat de clasă publică {
public int id;
salariu public dublu;
}
test de clasă publică{
public static void main(string 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 Employee. Este posibil să atribuiți valori pentru id și salariu folosind operatorul punct, cum ar fi e1.id, e1. salariu etc. Id-ul ș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 separate, iar e2 va avea un id și salariu separate. Deci, variabilele de instanță sunt create atunci când obiectul sau instanța este creată.
Care sunt asemănările dintre variabilele de clasă și de instanță?
- Ambele sunt tipuri de variabile.
- Ambele variabile sunt în interiorul unei clase, dar în afara oricărei metode.
Care este diferența dintre variabilele de clasă și de instanță?
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. |
Variabilele de clasă sunt asociate cu clasa. | Variabilele de instanță sunt asociate cu obiecte. |
Număr de copii | |
Variabilele de clasă creează o copie pentru toate obiectele. | Variabilele de instanță creează o copie separată pentru fiecare obiect. |
Cuvinte cheie | |
Variabilele de clasă ar trebui 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 cunoscută și sub denumirea 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 ca, variabile de clasă și variabile de instanță. Diferența dintre variabilele de clasă și de 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 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 să o utilizați în scopuri offline, conform nota de citare. Vă rugăm să descărcați versiunea PDF aici: Diferența dintre variabilele de clasă și de instanță