Негизги айырма – Класс менен Инстанция өзгөрмөлөрү
Заманбап программалоо тилдеринин көбү Объектке багытталган программалоону колдойт. Объект маалымат же атрибуттарды камтыйт. Объекттин белгилүү бир жүрүм-туруму бар. Алар ыкмалары катары белгилүү. Программа объекттерди колдонуу менен модель болушу мүмкүн. Программалык камсыздоо бул программалардын жыйындысы. Демек, программалык камсыздоо объектилерди колдонуу менен иштелип чыгып, ишке ашырылышы мүмкүн. Объекттер методдор аркылуу өз ара аракеттенишет. Объектке багытталган программалоо коддун модулдуулугун жана кайра колдонуу мүмкүнчүлүгүн жакшыртат. Объекттерди түзүү үчүн класс болушу керек. Класс - бул объектти түзүүнүн планы. Демек, объект класстын бир мисалы болуп саналат. Программалоодо маалыматтар сакталышы керек болчу. Маалыматтар эстутум жерлеринде сакталат. Бул эс орундары өзгөрмөлөр деп аталат. Мүчө өзгөрмө - бул белгилүү бир объект менен байланышкан өзгөрмө. Бул анын бардык ыкмалары үчүн жеткиликтүү. Класс өзгөрмөлөрү жана инстанция өзгөрмөлөрү болгон мүчө өзгөрмөлөрдүн эки түрү бар. Класс менен инстанция өзгөрмөлөрүнүн ортосундагы негизги айырма, эгерде класстын бардык инстанциялары менен бөлүшүлгөн өзгөрмөнүн бир гана көчүрмөсү бар болсо, ал өзгөрмөлөр класс өзгөрмөлөрү деп аталат жана класстын ар бир инстанциясында өзгөрмөнүн өзүнүн көчүрмөсү болсо, анда ал өзгөрмөлөр инстанция өзгөрмөлөрү деп аталат.
Класс өзгөрмөлөрү деген эмне?
Класстын бардык инстанциялары менен бөлүшүлгөн өзгөрмөнүн бир гана көчүрмөсү болгондо, ал өзгөрмөлөр класс өзгөрмөлөрү деп аталат. Класс өзгөрмөлөрү класстын ичинде кандайдыр бир методдон тышкары жарыяланган өзгөрмөлөр. Бул өзгөрмөлөр static ачкыч сөзүн камтыйт. Бул өзгөрмөлөр объектке эмес, класс менен байланышкан.
01-сүрөт: Класс өзгөрмөлөрү жана инстанция өзгөрмөлөрү
Класс өзгөрмөлөрү бар төмөнкү код бөлүгүн караңыз.
коомдук класс Кызматкер {
коомдук статикалык int id;
коомдук статикалык кош айлык;
}
коомдук класс Тест {
жалпыга ачык статикалык жараксыз негизги(сап args){
Кызматкер e1=жаңы Кызматкер();
Кызматкер e2=жаңы Кызматкер();
}
}
Жогорудагы программага ылайык, e1 жана e2 Кызматкер тибиндеги объекттер. Экөө тең эс тутумдун бирдей көчүрмөсүнө ээ болот. Эгерде e1.id=1 жана e2.idди басып чыгаруу да 1 маанисин берет. Кызматкер сыяктуу Кызматкер классынын атын колдонуп, id жана эмгек акынын маанилерин басып чыгарууга болот. ID, Кызматкердин эмгек акысы ж.б.
Инстанция өзгөрмөлөрү деген эмне?
Класстын ар бир инстанциясында өзгөрмөнүн өзүнүн көчүрмөсү болгондо, ал өзгөрмөлөр инстанция өзгөрмөлөрү деп аталат. Төмөнкү программаны караңыз.
коомдук класс Кызматкер {
коомдук инт id;
мамлекеттик эки эселенген айлык;
}
коомдук класс тести{
жалпыга ачык статикалык жараксыз негизги(сап args){
Кызматкер e1=жаңы Кызматкер();
e1.id=1;
e1.айлык=20000;
Кызматкер e2=жаңы Кызматкер();
e2.id=2;
e2. эмгек акы=25000;
}
}
Негизги программада e1 жана e2 Employee түрүндөгү объекттерге шилтемелер. e1.id, e1 сыяктуу чекит операторунун жардамы менен id жана эмгек акы үчүн маанилерди дайындоого болот. эмгек акы ж.б. Кызматкер классындагы id жана эмгек акы инстанция өзгөрмөлөрү катары белгилүү.e1 жана e2 өзүнчө объектилер. Ар бир объекттин инстанция өзгөрмөлөрүнүн өзүнчө көчүрмөсү болот. e1 өзүнчө id жана эмгек акыга ээ болот, ал эми e2 өзүнчө ID жана айлыкка ээ болот. Демек, инстанциянын өзгөрмөлөрү объект же инстанция түзүлгөндө түзүлөт.
Класс жана Инстанция өзгөрмөлөрүнүн ортосунда кандай окшоштуктар бар?
- Экөө тең өзгөрмөлөрдүн түрү.
- Эки өзгөрмө тең класстын ичинде, бирок каалаган ыкманын сыртында.
Класс жана инстанция өзгөрмөлөрүнүн ортосунда кандай айырма бар?
Класс өзгөрмөлөрү жана инстанция өзгөрмөлөрү |
|
Класс өзгөрмөлөрү - класстын бардык инстанциялары менен бөлүшүлгөн өзгөрмөнүн бир гана көчүрмөсү болгон өзгөрмөлөр. | Класстын ар бир инстанциясында өзгөрмөнүн өзүнүн көчүрмөсү болгон өзгөрмөлөр. |
Ассоциация | |
Класс өзгөрмөлөрү класс менен байланышкан. | Инстанция өзгөрмөлөрү объекттер менен байланышкан. |
Көчүрмөлөрдүн саны | |
Класс өзгөрмөлөрү бардык объекттер үчүн бир көчүрмөнү түзөт. | Инстанция өзгөрмөлөрү ар бир объект үчүн өзүнчө көчүрмөнү түзөт. |
Ачкыч сөздөр | |
Класс өзгөрмөлөрүндө статикалык ачкыч сөз болушу керек. | Инстанция өзгөрмөлөрү статикалык сыяктуу атайын ачкыч сөздү талап кылбайт. |
Корытынды – Класс жана Инстанция өзгөрмөлөрү
Объектке багытталган программалоо программалоонун негизги парадигмасы. Бул объекттерди колдонуу менен программалык камсыздоону моделдөөгө жардам берет. Объекттер класстар аркылуу түзүлөт. Объектти түзүү инстанция катары да белгилүү. Класс объектти түзүү үчүн схеманы камсыз кылат. Мүчө өзгөрмө - бул белгилүү бир объект менен байланышкан өзгөрмө. Бул анын бардык ыкмалары үчүн жеткиликтүү. Мүчө өзгөрмөлөрдүн эки түрү бар, класс өзгөрмөлөрү жана инстанция өзгөрмөлөрү. Класс менен инстанция өзгөрмөлөрүнүн ортосундагы айырма, эгерде класстын бардык инстанциялары менен бөлүшүлгөн өзгөрмөнүн бир гана көчүрмөсү болсо, ал өзгөрмөлөр класс өзгөрмөлөрү деп аталат жана класстын ар бир инстанциясы өзгөрмөнүн өзүнүн көчүрмөсүнө ээ болсо, анда ошол өзгөрмөлөр класстын өзгөрмөлөрү деп аталат. өзгөрмөлөр инстанциялык өзгөрмөлөр деп аталат.
Кластын жана Инстанция өзгөрмөлөрүнүн PDF версиясын жүктөп алыңыз
Сиз бул макаланын PDF версиясын жүктөп алып, аны оффлайн максаттары үчүн колдонсоңуз болот. Сураныч, PDF версиясын бул жерден жүктөп алыңыз: Класс жана Инстанция өзгөрмөлөрүнүн ортосундагы айырма