2.1. Sinf va obektlar.
Dasturlash kodini tartibga solish muommasini hal etish uchun ma’lumotlarni va metodlarni (sinflardagi funksiyalar) aniqlab olinadi. Ma’lumotlar va ular ustida amallar tuzulmasi birlashtiriladi va bu obektga yo’naltirilgan dasturlashda obekt deb nomlanadi.
Bu sun’iy usul birinchi qarashda metodlar qo’llanilish sohasini aniq ajratishga imkon beradi. Barcha dastur blok ({…}) tuzulmasiga ega bo’lib dastur kodining taxlilini ancha soddalashtiradi. Agar har bir obekt unikal bo’lganda bu yondashuvdan foyda kam bo’lardi. Amaliyotda esa har bir obekt sinf deb ataladigan bir nechta umumiy shablonlar bilan aniqlanadi. Sinf doirasida umumiy shablon, yani tuzulma beriladi, keyin uning asosida obektlar yaratiladi. Sinfga tegishli ma’lumotlar sinf maydoni deb ataladi.
class sinf_nomi{
type identifikator; //sinf maydoni
…
}
Ularni qayta ishlovchi fuksiyalar sinf metodlari deyiladi.
class sinf_nomi{
type identifikator; //sinf maydoni
…
type metod_nomi(){ //sinf matodi
…
}
}
Sinfdagi ma’lumotlar qaysi turga mansubligi, shuningdek bu ma’lumotlarga qanaqa metodlar qo’llanilishi izohlanadi. Sinf va obekt o’rtasidagi farqni dasturlashga aloqasi bo’lmagan misolda aniqlab olamiz. Yuqorida aytib o’tkanimizdek obektga yo’naltirilgan dasturlash tamoyillarida barcha narsalar obekt deb qaraladi. Masalan, it va mushikni olaylik. Sinflarning ma’lumotalarini va metodlarini ko’rsatish orqali amalga oshiramiz. Mushik sinfi uchun maydon sifatida mushikning nomi va rangi ko’rsatilsin. It sinfi uchun itning nomi, rangi va zotini ko’rsatamiz. Maydonlardan tashqari bu sinflarning metodlarini (real hayotdagi vazifalarini) qaraymiz. Metodlar - sinflarning nima qila olishini bildiradi. Mushik sinfi miyovlaydi va sichqonlarni tutadi, itlar bo’lsa vovullaydi. Shunday qilib mushik sinfining metodlari miyovlash va sichqonlarni tutish bo’lsa, itlar uchun vovulashdan iborat. Biz shablonlarni aniqlab oldik. Ular asosida sinf yoki obektlar yaratamiz. Sinf va obekt o’rtasidagi farqni mavhum tushuncha va real obekt o’rtasidagi farqni qiyoslash mumkin. Umuman it haqida gapirganimizda it uy hayvoni, nomi, rangi egasini biron bir zotga tegishliligini va vovullashini tushunamiz. Mushik haqida gapirganimizda ham biz uning sichqon tutushi, nomini rangini tushunamiz. Bular mahvum tushunchalar bo’lib ular sinfga mos keladilar, ammo gap aynan sharik (bu itning nomi) yoki momiq (mushik ismi) haqida ketsa ular endi sinfning obekti hisoblanadi.
Bundan tashqari siz juda ko’p bir xil turdagi obektlar uchratishingiz mumkin. Misol uchun velosipedning turli xil modellari va turlari mavjud. Har bir velosiped bir xil modelda qurilgan shuning uchun bir xil qismlarni o’z ichiga olgan. Obektga yo'naltirilgan dasturlashda velosipedlar to’plamini obektlar va velosipedni sinf deb qabul qilamiz. Obekt sinflardan tashkil topadi. Velosiped sinfini ko’rib chiqamiz:
class Velosiped { //Velosiped sinfi
int speed = 20; //Velosiped tezligi
string color = “oq”; //Velosiped rangi
void setSpeed(int speed); //Tezlikni o’rnatish metodi
void setcolor(int color); //Velosipedga rang berish
int getSpeed(); //Tezlikni aniqlash
int getcolor(); //Rangini aniqlash
void speddUp(int speed); //Tezlikni oshirish
}
Ko’rib turganimizdek velosiped sinfi uchun rang berish, tezligini belgilash va oshirish, velosiped rangi va tezligini aniqlash imkoniyatiga ega.
Do'stlaringiz bilan baham: |