Sleutelverskil – Klas vs Instansveranderlikes
Die meeste moderne programmeertale ondersteun objekgeoriënteerde programmering. 'n Voorwerp bevat data of eienskappe. 'n Voorwerp het sekere gedrag. Hulle staan bekend as metodes. 'n Program kan met behulp van voorwerpe gemodelleer word. 'n Sagteware is 'n versameling programme. Daarom kan 'n sagteware ontwerp en geïmplementeer word met behulp van voorwerpe. Voorwerpe word met behulp van metodes in wisselwerking gebring. Objekgeoriënteerde programmering verbeter kodemodulariteit en herbruikbaarheid. Daar moet 'n klas wees om voorwerpe te skep. 'n Klas is 'n bloudruk om 'n voorwerp te skep. Daarom is 'n objek 'n voorbeeld van 'n klas. In programmering moes die data gestoor word. Data word in geheue plekke gestoor. Hierdie geheue liggings word veranderlikes genoem. 'n Lidveranderlike is 'n veranderlike wat met 'n spesifieke objek geassosieer word. Dit is toeganklik vir al sy metodes. Daar is twee tipes lidveranderlikes wat klasveranderlikes en instansieveranderlikes is. Die belangrikste verskil tussen klas- en instansieveranderlikes is dat, as daar net een kopie van die veranderlike is wat met alle instansies van die klas gedeel word, word daardie veranderlikes klasveranderlikes genoem en as elke instansie van die klas sy eie kopie van die veranderlike het, dan daardie veranderlikes word instansieveranderlikes genoem.
Wat is klasveranderlikes?
Wanneer daar net een kopie van die veranderlike is wat met alle instansies van die klas gedeel word, word daardie veranderlikes as klasveranderlikes genoem. Klasveranderlikes is veranderlikes wat binne die klas buite enige metode verklaar word. Hierdie veranderlikes bevat die sleutelwoord static. Hierdie veranderlikes word met die klas geassosieer, nie met die objek nie.
Figuur 01: Klasveranderlikes en instansieveranderlikes
Verwys die onderstaande stukkie kode met klasveranderlikes.
publieke klas Werknemer {
public static int id;
publieke statiese dubbelsalaris;
}
publieke klastoets {
publieke statiese leemte hoof(string args){
Werknemer e1=nuwe werknemer();
Employee e2=nuwe werknemer();
}
}
Volgens bogenoemde program is e1 en e2 Werknemer tipe voorwerpe. Albei sal dieselfde kopie van geheue hê. As e1.id=1 en die druk van e2.id sal ook die waarde 1 gee. Dit is moontlik om die id en salariswaardes te druk deur die Werknemerklasnaam soos Werknemer te gebruik. ID, Werknemer.salaris ens.
Wat is instansieveranderlikes?
Wanneer elke instansie van die klas sy eie kopie van die veranderlike het, dan staan daardie veranderlikes bekend as instansie veranderlikes. Verwys na die onderstaande program.
publieke klas Werknemer {
public int id;
publieke dubbelsalaris;
}
publieke klastoets{
publieke statiese leemte hoof(string args){
Werknemer e1=nuwe werknemer();
e1.id=1;
e1.salary=20000;
Employee e2=nuwe werknemer();
e2.id=2;
e2. salaris=25000;
}
}
In die hoofprogram is e1 en e2 verwysings na die voorwerpe van tipe Werknemer. Dit is moontlik om waardes vir id en salaris toe te ken met behulp van die puntoperateur soos e1.id, e1. salaris ens. Die id en salaris in die klas Werknemer staan bekend as instansie veranderlikes. Die e1 en e2 is afsonderlike voorwerpe. Elke objek sal 'n aparte kopie van instansieveranderlikes hê. Die e1 sal aparte ID en salaris hê en e2 sal 'n aparte ID en salaris hê. Dus, die instansie veranderlikes word geskep wanneer die objek of die instansie geskep word.
Wat is die ooreenkomste tussen klas- en instansieveranderlikes?
- Albei is tipes veranderlikes.
- Albei veranderlikes is binne 'n klas, maar buite enige metode.
Wat is die verskil tussen klas- en instansieveranderlikes?
Klasveranderlikes vs instansieveranderlikes |
|
Klasveranderlikes is veranderlikes waarin daar net een kopie van die veranderlike is wat met al die instansies van die klas gedeel word. | Instance-veranderlikes is veranderlikes wanneer elke instansie van die klas sy eie kopie van die veranderlike het. |
Assosiasie | |
Klasveranderlikes word met die klas geassosieer. | Instance-veranderlikes word met voorwerpe geassosieer. |
Aantal kopieë | |
Klasveranderlikes skep een kopie vir alle voorwerpe. | Instance-veranderlikes skep aparte kopie vir elke voorwerp. |
Sleutelwoorde | |
Klasveranderlikes moet die statiese sleutelwoord hê. | Gevalveranderlikes vereis nie 'n spesiale sleutelwoord soos staties nie. |
Opsomming – Klas vs. Instansveranderlikes
Objekgeoriënteerde programmering is die belangrikste programmeringsparadigma. Dit help om 'n sagteware met behulp van voorwerpe te modelleer. Voorwerpe word met behulp van klasse geskep. Voorwerpskepping staan ook bekend as instansiering. 'n Klas verskaf 'n bloudruk om 'n voorwerp te skep. 'n Lidveranderlike is 'n veranderlike wat met 'n spesifieke objek geassosieer word. Dit is toeganklik vir al sy metodes. Daar is twee tipes lid veranderlikes as, klas veranderlikes en instansie veranderlikes. Die verskil tussen klas- en instansieveranderlikes is dat, as daar net een kopie van die veranderlike is wat met alle instansies van die klas gedeel word, word daardie veranderlikes klasveranderlikes genoem en as elke instansie van die klas sy eie kopie van die veranderlike het, dan veranderlikes word instansie veranderlikes genoem.
Laai die PDF-weergawe van klas vs instansieveranderlikes af
Jy kan die PDF-weergawe van hierdie artikel aflaai en dit vir vanlyn doeleindes gebruik soos per aanhalingsnota. Laai asseblief die PDF-weergawe hier af: Verskil tussen klas- en instansieveranderlikes