Butunlilik - ob'ektlarning o'z holatini saqlab qolish va ma'lum sinfga mansubligi.
Ob'ektlar uchun parallellik tamoyillarining birlashtirilishi parallel dasturlash tillarini yaratishga imkon berdi. Xuddi shunday, butunlilikni ob'ekt yondashuvining odatiy qismi sifatida bizni ob'ektga yo'naltirilgan ma'lumotlar bazalariga (OYMB) olib keladi. Amalda, bunday ma'lumotlar bazalari vaqt sinovidan o'tgan modellar asosida-ketma-ket, indeksli, ierarxik, tarmoqli yoki relyatsion asosda quriladi, lekin dasturchi ma'lumotlar bazasiga so'rovlar va boshqa operatsiyalar bajariladigan ob'ektga yo'naltirilgan interfeysning mavhumligini kiritishi mumkin. Butunlilik - bu ob'ektning o'z vaqtida mavjud bo'lishi, uni yaratgan jarayonni boshdan kechirish va (yoki) kosmosda, asl manzil maydonidan ko'chib o'tish qobiliyati.
40. Sinf va obyekt tushunchalari
Sinflar. C++ tilining eng foydali xususiyatlaridan biri bu muayyan muammolarni hal qilish uchun ko'proq mos keladigan ma'lumotlar turlarini aniqlashdir. O'zingizning shaxsiy ma'lumotlar turlarini yaratish uchun ro'yxatlar va tuzilmalardan qanday foydalanish mumkinligini allaqachon ko'rgansiz. Masalan, sanani saqlash uchun struktura quyidagicha e’lon qilinadi.
struct DateStruct
{
int day;
int month;
int year;
};
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;
};
41. OOP da sinf tushunchasi
Sinflar. C++ tilining eng foydali xususiyatlaridan biri bu muayyan muammolarni hal qilish uchun ko'proq mos keladigan ma'lumotlar turlarini aniqlashdir. O'zingizning shaxsiy ma'lumotlar turlarini yaratish uchun ro'yxatlar va tuzilmalardan qanday foydalanish mumkinligini allaqachon ko'rgansiz. Masalan, sanani saqlash uchun struktura quyidagicha e’lon qilinadi.
struct DateStruct
{
int day;
int month;
int 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.
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;
};
42.OOP da obyekt tushinchasi.
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
43.Sinflar va strukturalar orasidagi o’xshashlik.
Do'stlaringiz bilan baham: |