Тилига кириш услубий қўлланма


Синф аъзоларига мурожаат қилиш имконини чегаралаш


Download 0.87 Mb.
bet39/88
Sana18.03.2023
Hajmi0.87 Mb.
#1282045
1   ...   35   36   37   38   39   40   41   42   ...   88
Bog'liq
C o\'rganish uchun yaxshi

Синф аъзоларига мурожаат қилиш имконини чегаралаш.


Синфни эълон қилишда бир нечта калит сўзлардан фойдаланилади. Улардан энг муҳимлари publiс (очиқ) ва private (ёпиқ) калит сўзлари бўлиб, улар орқали объектнинг аъзоларига мурожаат қилиш имконияти чегараланади.
Синфнинг барча методлари ва хоссалари бошланғич ҳолда ёпиқ деб эълон қилинади. Ёпиқ аъзоларга фақатгина шу синфнинг методлари орқалигина мурожаат қилиш мумкин. Объектнинг очиқ аъзоларига эса дастурдаги барча функциялар мурожаат қилишлари мумкин. Синф аъзоларига мурожаат қилиш имконини белгилаш жуда муҳим хусусият бўлиб, бу масалани ечишда унча катта тажрибага эга бўлмаган дастурларчилар кўпинча қийинчиликларга дуч келадилар. Бу ҳолатни батафсилроқ тушунтириш учун мавзуни бошида келтирилган масаламизга қайтамиз.
Class Mushuk
{
unsigned int itsYosh;
unsigned int itsOgirlik;
void Miyovlash();
}
Бу тарзда синфни эълон қилишда itsYosh ва itsOgirlik майдонлари ҳам, Miyovlash() методи ҳам ёпиқ аъзо сифатида аниқланади. Дастурда юқоридаги тартибда Mushuk синфи эълон қилинган бўлса ва бу синф экземпляри бўлган объектнинг itsYosh аъзосига main() функцияси танасидан туриб мурожаат қилсак компилятор хатолик рўй берганлиги ҳақида хабар беради.
Mushuk Baroq;
Baroq.itsYosh = 5 // Хатолик!
// Ёпик аъзога мурожаат килиш мумкин эмас.
Mushuk синфи аъзоларига дастурнинг бошқа объектлари томонидан мурожаат қилиш имконини ҳосил қилмоқчи бўлсак, уни public калитли сўзи орқали амалга оширамиз.
Class Mushuk
{
public:
unsigned int itsYosh;
unsigned int itsOgirlik;
void Meow( );
}
Энди public калитли сўзи орқали синфнинг барча аъзолари (itsYosh, itsOgirlik, Miyovlash()) очиқ аъзо бўлди.
6.1 – листингда Mushuk синфи очиқ ўзгарувчи аъзолари билан эълон қилинган.

Download 0.87 Mb.

Do'stlaringiz bilan baham:
1   ...   35   36   37   38   39   40   41   42   ...   88




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling