Javoblar Dasturlash asoslari



Download 132,23 Kb.
bet15/40
Sana06.07.2022
Hajmi132,23 Kb.
#743820
1   ...   11   12   13   14   15   16   17   18   ...   40
Bog'liq
Javoblar Dasturlash asoslari

45.OPPda class kalit so’zi.
Obyektga yo'naltirilgan dasturlashda ma'lumotlar turlari nafaqat ma'lumotlarni, balki shu ma'lumotlar bilan ishlaydigan funksiyalarni ham o'z ichiga olishi mumkin. C++ bu ma'lumot turini aniqlash uchun class kalit so'zidan foydalanadi. class kalit so'zidan foydalanish foydalanuvchi tomonidan belgilanadigan yangi ma'lumotlar turini, sinfini aniqlaydi.C++ da sinflar strukturalarga juda o'xshash, faqat ular ko'proq kuch va moslashuvchanlikni ta'minlaydi. Aslida, quyidagi struktura va sinf funksional jihatdan bir xil:
struct DateStruct
{
int day;
int month;
int year;
};
class DateClass
{
public:
int m_day;
int m_month;
int m_year;
};
C++ da sinf o'zgaruvchisi sinfning nusxasi (yoki "obyekt") deb ataladi. Ma'lumotlar turidagi (masalan, int x) o'zgaruvchini aniqlash, shu o'zgaruvchiga xotira ajratilishiga olib keladi, shuning uchun sinf obyektini yaratish (masalan, today DateClass) bu obyekt uchun xotira ajratilishiga olib keladi.
46.Sinf metodlari.
Sinf metodlari.Ma'lumotlarni saqlashdan tashqari, sinflar funktsiyalarni ham o'z ichiga olishi mumkin. Sinf ichida aniqlangan funksiyalar metodlar deb ataladi. Metodlarni sinf ichida ham, tashqarisida ham aniqlash mumkin. Hozircha biz ularni sinf ichida belgilaymiz (soddaligi uchun), ularni sinfdan tashqarida qanday aniqlash mumkin - birozdan keyin ko'rib chiqamiz.DateClass sinfi tarkibida print() metodini e’lon qilish:
class DateClass
{
public:
int m_day;
int m_month;
int m_year;
void print() // функцию-a’zoni aniqlash
{
cout << m_day << "/" << m_month << "/" << m_year;
}
};
Xuddi shu tarzda, struktura a'zolariga ham, sinf a'zolariga ham (o'zgaruvchilar va funksiyalarga) a'zo tanlash operatori (.) orqali kirish mumkin:

#include


class DateClass
{
public:
int m_day;
int m_month;
int m_year;
void print() {
cout << m_day << "/" << m_month << "/" << m_year;
}
};
int main()
{
DateClass today { 12, 11, 2018 };
today.m_day = 18; // DateClass today obyektining m_day a'zo o'zgaruvchisini tanlash uchun a'zo tanlash operatoridan foydalanish
today.print(); // DateClass today obyektining print() metodini chaqirish uchun a'zo tanlash operatoridan foydalanish
return 0;
}Dasturni bajarish natijasi:
18/11/2018
Sinf metodlari biroz boshqacha ishlaydi: barcha metod chaqiruvlari sinf obyekti bilan bog'lanishi kerak. today.print() ga murojaat qilganimizda, biz kompilyatorga today obyektining print() metodini chaqirishini aytamiz.
print() metodining ta'rifini yana ko'rib chiqamiz: m_day, m_month va m_year aslida nimani nazarda tutadi? Ular tegishli today obyektiga murojaat qiladi (bu murojaat qiluvchining o'zi tomonidan belgilanadi).
Shuning uchun, today.print() ni chaqirganda, kompilyator quyidagicha izohlaydi:
m_day – today.m_day kabi;
m_month – today.m_month kabi;
m_year – today.m_year kabi
A'zo o'zgaruvchilar uchun m_ (inglizcha "m" = "members" – a’zolar) prefiksidan foydalanish a'zolar o'zgaruvchilarini funktsiya parametrlari yoki sinf metodlari ichidagi lokal o'zgaruvchilardan ajratishga yordam beradi. Bu bir necha sabablarga ko'ra foydalidir:

Download 132,23 Kb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   40




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish