Qiymat sinfga emas obyektga o‘zlashtiriladi




Download 0,78 Mb.
Pdf ko'rish
bet4/7
Sana17.12.2023
Hajmi0,78 Mb.
#121794
1   2   3   4   5   6   7
Bog'liq
6- amaliy ish

Qiymat sinfga emas obyektga o‘zlashtiriladi 
C++ tilida berilganlar tipiga qiymat o‘zlashtirilmaydi. Qiymat faqatgina
o‘zgaruvchilarga beriladi. Masalan, quyidagi yozuv noto‘g‘ridir: 
Int=s // noto‘g‘ri 
Kompilyator int tipiga qiymat o‘zlashtirilishi xatolik ekanligi haqida xabar
beradi. Xuddi shu nuqtai – nazardan quyidagi yozuv ham noo‘rindir:
Cat.itsYosh= 5 // noto‘g‘ri 
Agarda Mushuk obyekt bo‘lmasdan sinf bo‘lsa, yuqoridagi ifodani ham
kompilyator xato deb hisoblaydi. O‘zlashtirish amalini bajarishda xatolikka yo‘l 
qo‘ymaslik uchun oldin Mushuk sinfiga tegishli Friskyobyektini hosil qilish va 
uning ItsYosh maydoniga 5qiymatini berish lozim. 
Mushuk Frisky; 
Frisky.itsYosh=5; 
Sinf a’zolariga murojaat qilishimkonini chegaralash. 
Sinfni e’lon qilishda bir nechta kalit so‘zlardan foydalaniladi. Ulardan eng 
muhimlari publis (ochiq) va private(yopiq) kalit so‘zlari bo‘lib, ular orqali 
obyektning a’zolariga murojaat qilish imkoniyati chegaralanadi. 
Sinfning barcha metodlari va xossalari boshlang‘ich holda yopiq deb e’lon
qilinadi. Yopiq a’zolarga faqatgina shu sinfning metodlari orqaligina murojaat 
qilish mumkin. Obyektning ochiq a’zolariga esa dasturdagi barcha funksiyalar 
murojaat qilishlari mumkin. Sinf a’zolariga murojaat qilish imkonini belgilash juda
muhim xususiyat bo‘lib, bu masalani yechishda uncha katta tajribaga ega bo‘lmagan 
dasturlarchilar ko‘pincha qiyinchiliklarga duch keladilar. Bu holatni batafsilroq 
tushuntirish uchun mavzuning boshida keltirilgan masalamizga qaytamiz. 
class Mushuk 



unsigned int itsYosh;
unsigned int itsOgirlik
void Miyovlash(); 
}
Bu tarzda sinfni e’lon qilishda itsYosh va itsOgirlik maydonlari ham,
Miyovlash() metodi ham yopiq a’zo sifatida aniqlanadi. Dasturda yuqoridagi 
tartibda Mushuk sinfi e’lon qilingan bo‘lsa va bu sinf ekzemplyari bo‘lgan 
obyektning itsYosh a’zosiga main() funkstiyasi tanasidan turib murojaat qilsak 
kompilyator xatolik ro‘y berganligi haqida xabar beradi. 
Mushuk Baroq; 
Baroq.itsYosh = 5 // Xatolik!
// Yopik a’zoga murojaat kilish mumkin emas. 
Mushuk s
infi a’zolariga dasturning boshqa obyektlari tomonidan murojaat 
qilish imkonini hosil qilmoqchi bo‘lsak, uni public kalitli so‘zi orqali amalga 
oshiramiz. 
class Mushuk 

public:
unsigned int itsYosh;
unsigned int itsOgirlik; 
void Meow( ); 
}
Endi publickalit so‘zi orqali sinfning barcha a’zolari (itsYosh, 
itsOgirlik, Miyovlash()) ochiq a’zo bo‘ldi.

Download 0,78 Mb.
1   2   3   4   5   6   7




Download 0,78 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Qiymat sinfga emas obyektga o‘zlashtiriladi

Download 0,78 Mb.
Pdf ko'rish