getterlar - bu sinfning yopiq a'zo o'zgaruvchilarining qiymatlarini qaytaradigan funksiyalar;
setterlar - bu sinfning yopiq a'zo o'zgaruvchilariga qiymatlarni belgilashga imkon beradigan funksiyalar.
Bu yerda barcha yopiq a'zo o'zgaruvchilari uchun getter va setterlardan foydalanadigan sinfning misoli:
class Date
{
private:
int m_day;
int m_month;
int m_year;
public:
int getDay() { return m_day; } // day uchun getter
void setDay(int day) { m_day = day; } // day uchun setter
int getMonth() { return m_month; } // month uchun getter
void setMonth(int month) { m_month = month; } // month uchun setter
int getYear() { return m_year; } // year uchun gettter
void setYear(int year) { m_year = year; } // year uchun setter
};
31. Abstraktlash Abstraksiya. Abstraktsiya obyektning boshqa xususiyatlaridan ajralib turadigan asosiy xususiyatlarini ajratib ko'rsatadi va shuning uchun kuzatuvchi nuqtai nazaridan uning konseptual chegaralarini aniq belgilaydi. "Kuzatuvchi nuqtai nazaridan" iborasi muhim, chunki har xil odamlar biror narsaga yoki muammoga mutlaqo boshqacha qarashlari mumkin.
Abstraksiya - bu boshqa obyektlardan ajralib turadigan va ma'lum bir obyektning xususiyatlarini keyingi ko'rib chiqish va tahlil qilish nuqtai nazaridan aniq belgilaydigan shunday muhim xususiyatlarni tanlash.
Abstraksiya obyektning tashqi xususiyatlariga e'tibor qaratadi va xulq -atvorning eng muhim xususiyatlarini ahamiyatsizdan ajratishga imkon beradi.
Ma'lum bir predmet soha uchun to'g'ri abstraksiya to'plamini tanlash-obyektga yo'naltirilgan loyihalashdagi katta qiyinchilik. Abstraktlarning 4 turi mavjud (foydaliligini kamaytirish tartibida keltirilgan).
32. Abstraksiya mohiyati Abstraksiya mohiyati. Obyekt - bu predmet sohadagi mohiyatning foydali modeli.Abstraksiya xulq-atvori. Obyekt umumiy amallar to'plamidan iborat.Virtual mashina abstraksiyasi. Obyekt yuqori darajadagi boshqaruv tomonidan birgalikda ishlatiladigan amallarni guruhlaydi yoki o'zlari past darajadagi ba'zi amallar to'plamidan foydalanadi.Ixtiyoriy abstraksiya. Obyekt bir-biri bilan umumiy bo'lmagan amallar majmuasini o'z ichiga oladi.Abstraksiyalashning markaziy tushunchasi - mavhumlik tushunchasi.Abstraktsiya kuzatuvchining nuqtai nazaridan obyektning muhim xususiyatlariga qaratiladi.Abstraksiyaning markaziy g'oyasi - invariant tushunchasi. Invariant - bu mantiqiy shart, uning qiymati (rost yoki yolg’on) saqlanishi kerak. Obyektning har bir amali uchun siz old shartlarni (operatsiya qabul qilgan invariantlar) va post-shartlarni (amal bajaradigan invariantlarni) belgilashingiz mumkin. Invariantni o'zgartirish abstraktsiya bilan bog'liq shartlarni buzadi.
33. Modullik