Sinf a’zolari. Inkapsilyatsiya


Sinflarda inline funksiyalar 3. Sinflarda inline funksiyalar



Download 0,49 Mb.
bet6/6
Sana06.01.2022
Hajmi0,49 Mb.
#322395
1   2   3   4   5   6
Bog'liq
Leksiya #2

3. Sinflarda inline funksiyalar

3. Sinflarda inline funksiyalar

Sinflar uchun inline funksiyalarni yaratishning boshqa yo’li ham mavjud. Inline funksiyalarni sinf implementatsiyasida ham aniqlash mumkin. Misol uchun, f2 funksiyani inline kalit so’zi yordamida quyidagicha inline funksiyaga aylantiramiz:

inline double A::f2()

{

//Son qaytarish

}

4. Ma’lumot maydoni inkapsulyatsiyasi

Ma’lumot maydonini yopish (private) ma’lumotni himoyalaydi va sinfga qo’shimchalar kiritishni osonlashtiradi.

Inkapsulyatsiyalashning muhimligiga ikki sabab:

  • Ma’lumotlarni o’zgarib qolishidan himoya qilish;
  • Sinfga qo’shimchalar qo’shish va xatoliklarni bartaraf qilishni osonlashtirish.

4. Ma’lumot maydoni inkapsulyatsiyasi

Ma’lumot maydonini yopib qo’yish uchun private kalit so’zidan foydalaniladi. Bu jarayon ma’lumot maydoni inkapsulyatsiyasi deyiladi. Circle sinfida ma’lumot maydonini yopish uchun quyidagicha o’zgarish kiritiladi:

4. Ma’lumot maydoni inkapsulyatsiyasi

Yopiq ma’lumot maydoniga sinfdan tashqarida ob’yektlar orqali murojaat qilishniing imkoni yo’q. Ammo tez-tez mijoz uchun ma’lumot maydonini o’zgartirib turishga to’g’ri keladi. Yopiq ma’lumot maydoniga murojaat qilish uchun get funksiyadan foydalanish maqsadga muvofiq. get funksiya maydon qiymatini qaytaradi. Maydonning qiymatini o’zgartirish uchun esa set funksiyadan foydalanish lozim. set funksiya maydonga yangi qiymat o’rnatib beradi.

Get funksiya aksessor(accessor), set funksiya esa mutetor(mutator) deyiladi.

4. Ma’lumot maydoni inkapsulyatsiyasi

get funksiya quyidagicha aniqlanadi:

qaytuvchiTur getMaydonNomi()

Agar qaytuvchiTur bool turida bo’lsa, u holda get funksiya quyidagicha aniqlanish lozim:

bool isMaydonNomi()

set funksiya esa quyidagicha aniqlanadi:

void setMaydonNomi(malumotTuri maydonQiymati)

Listing 9.9 CircleWithPrivateDataFields.h

Listing 9.10 CircleWithPrivateDataFields.cpp

Listing 9.11 TestCircleWithPrivateDataFields.cpp

O’zgaruvchilar joylashuvi


a, b va c holatlar bir xil.

Sinf abstraksiyasi va inkapsulyatsiya

Sinf abstraksiyasi bu – sinf foydalanilishidan sinf implementatsiyasini ajratishdir. Implementatsiya jarayonlari foydalanuvchidan inkapsulyatsiyalanadi va yashiriladi. Bu jarayon sinf inkapsulyatsiyasi deyiladi.

Olingan xulosalar

  • Sinf aniqlanishi va uning implementatsiyasini alohida fayllarga yozish mumkin.
  • #ifndef direktivasi qo’shish himoyasi deyiladi.
  • Funksiya sinf aniqlanishida implementatsiya qilib ketilsa, u inline funksiya hisoblanadi.
  • public funksiya yoki ma’lumot kodning ixtiyoriy qismida ko’rinarli bo’ladi.
  • private funksiya yoki ma’lumot faqat sinfning ichida mavjud bo’ladi.
  • get yoki set funksiyalari orqali mijozlarga ma’lumotni ko’rishlariga imkon yaratib berishingiz mumkin.

Olingan xulosalar

7. O’z navbatida, get funksiya getter( yoki accessor) va set funksiya setter( yoki mutator) deb ham yuritiladi.

8. get funksiyaning ko’rinishi

qaytuvchiTur getMaydonNomi()

9. Agar qaytuvchiTur bool turida bo’lsa, u holda get funksiya quyidagicha aniqlanadi:

bool isMaydonNomi()

10. set funksiyaning ko’rinishi:

void setMaydonNomi(malumotTuri maydonQiymati)


Download 0,49 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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