Peamine erinevus - klass vs eksemplari muutujad
Enamik kaasaegseid programmeerimiskeeli toetab objektorienteeritud programmeerimist. Objekt sisaldab andmeid või atribuute. Objektil on teatud käitumisviisid. Neid tuntakse meetoditena. Programm võib olla objektide abil mudel. Tarkvara on programmide kogu. Seetõttu saab tarkvara projekteerida ja rakendada objektide abil. Objektidega suheldakse meetodite abil. Objektorienteeritud programmeerimine parandab koodi modulaarsust ja korduvkasutatavust. Objektide loomiseks peaks olema klass. Klass on objekti loomise plaan. Seetõttu on objekt klassi eksemplar. Programmeerimisel oli vaja andmeid salvestada. Andmed salvestatakse mälu asukohtadesse. Neid mälukohti nimetatakse muutujateks. Liikmemuutuja on muutuja, mis on seotud konkreetse objektiga. Sellele on juurdepääs kõigi selle meetodite jaoks. Liikmemuutujaid on kahte tüüpi, mis on klassi muutujad ja eksemplari muutujad. Peamine erinevus klassi ja eksemplari muutujate vahel on see, et kui muutujaga on ainult üks eksemplar, mida jagatakse kõigi klassi eksemplaridega, nimetatakse neid muutujaid klassi muutujateks ja kui igal klassi eksemplaril on oma muutuja koopia, siis neid muutujaid nimetatakse eksemplari muutujateks.
SISU
1. Ülevaade ja peamised erinevused
2. Mis on klassimuutujad
3. Mis on eksemplarimuutujad
4. Sarnasused klassi- ja eksemplarimuutujate vahel
5. Kõrvuti võrdlus - klass vs eksemplari muutujad tabelina
6. Kokkuvõte
Mis on klassi muutujad?
Kui klassi kõigil eksemplaridel on jagatud muutujast ainult üks eksemplar, nimetatakse neid muutujaid klassi muutujateks. Klassimuutujad on klassis deklareeritud muutujad väljaspool mis tahes meetodit. Need muutujad sisaldavad märksõna staatiline. Need muutujad on seotud klassi, mitte objektiga.
Joonis 01: Klassimuutujad ja eksemplarimuutujad
Vaadake allpool koodi muutujadega koodijuppi.
avalik klass Töötaja {
avalik staatiline int id;
riiklik staatiline topeltpalk;
}
avaliku klassi test {
avalik staatiline void main (string args) {
Töötaja e1 = uus töötaja ();
Töötaja e2 = uus töötaja ();
}
}
Eespool nimetatud programmi kohaselt on e1 ja e2 töötaja tüüpi objektid. Mõlemal on sama mälu koopia. Kui e1.id = 1 ja e2.id printimine annab ka väärtuse 1. Id ja palga väärtused on võimalik printida, kasutades töötaja klassi nime, näiteks Employee.id, Employee.salary jne.
Mis on eksemplari muutujad?
Kui klassi igal eksemplaril on muutuja oma koopia, siis nimetatakse neid muutujaid eksemplarimuutujateks. Vaadake allolevat programmi.
avalik klass Töötaja {
avalik int id;
avalik topeltpalk;
}
avaliku klassi test {
avalik staatiline void main (string args) {
Töötaja e1 = uus töötaja ();
e1.id = 1;
e1.palk = 20000;
Töötaja e2 = uus töötaja ();
e2.id = 2;
e2. palk = 25000;
}
}
Põhiprogrammis on e1 ja e2 viited tüüpi Töötaja objektidele. Id ja palga väärtusi on võimalik määrata punktioperaatori abil, näiteks e1.id, e1. töötasu jne. Töötaja klassi ja ID-d nimetatakse näiteks muutujana. E1 ja e2 on eraldi objektid. Igal objektil on eksemplarimuutujate eraldi koopia. E1-l on eraldi ID ja palk ning e2-l eraldi ID ja palk. Niisiis, eksemplari muutujad luuakse objekti või eksemplari loomisel.
Millised on klassi ja eksemplari muutujate sarnasused?
- Mõlemad on muutujate tüübid.
- Mõlemad muutujad on klassi sees, kuid väljaspool ühtegi meetodit.
Mis vahe on klassi ja eksemplari muutujate vahel?
Erinev artikkel keskel enne tabelit
Klassimuutujad vs eksemplari muutujad |
|
Klassimuutujad on muutujad, milles kogu klassi eksemplariga jagatud muutujast on ainult üks eksemplar. | Eksemplarimuutujad on muutujad, kui klassi igal eksemplaril on muutuja oma koopia. |
Ühing | |
Klassiga on seotud klassi muutujad. | Eksemplaride muutujad on seotud objektidega. |
Koopiate arv | |
Klassimuutujad loovad kõigile objektidele ühe koopia. | Eksemplari muutujad loovad iga objekti jaoks eraldi koopia. |
Märksõnad | |
Klassimuutujatel peaks olema staatiline märksõna. | Eksemplari muutujad ei vaja erilist märksõna, näiteks staatiline. |
Kokkuvõte - klass vs eksemplari muutujad
Objektorienteeritud programmeerimine on peamine programmeerimisparadigma. See aitab tarkvara modelleerida objektide abil. Objektid luuakse klasside abil. Objektide loomist tuntakse ka kui instantiat. Klass pakub objekti loomiseks kavandi. Liikmemuutuja on muutuja, mis on seotud konkreetse objektiga. Sellele on juurdepääs kõigi selle meetodite jaoks. Liikmemuutujaid on kahte tüüpi: klassimuutujad ja eksemplarimuutujad. Klassi ja eksemplari muutujate erinevus seisneb selles, et kui muutujaga on ainult üks eksemplar, mida on jagatud kõigi klassi eksemplaridega, nimetatakse neid muutujaid klassi muutujateks ja kui igal klassi eksemplaril on oma muutuja koopia, siis need muutujaid nimetatakse eksemplari muutujateks.
Laadige alla klass vs eksemplari muutujate PDF-versioon
Selle artikli PDF-versiooni saate alla laadida ja kasutada võrguühenduseta eesmärkidel, nagu tsiteeritud. Laadige PDF-versioon alla siit: Erinevus klassi ja eksemplari muutujate vahel