|
Baajardi Baxriddinov Sh. Tekshirdi Zohidov. J
|
bet | 5/6 | Sana | 15.05.2024 | Hajmi | 261,85 Kb. | | #234227 |
Bog'liq 3 mustaqqil ishi Dasturlash Masalan: Var MyObject: TchildClass; Begin MyObject.Fone:=16; MyObject.Ftwo:=‗qator qiymati‘; End; Maydon nomi unga mos xossa nomining birinchi harfi ―F bo’lishi bilan farqlanadi. Delphi da qabul qilingan kelishuv bo’yicha maydonlar nomlari f (field — maydon so‗zidan) harfidan boshlanishi lozim. Sinflar orasidagi munosabatlar turlariHar bir sinfni ikkita muhim jihati mavjud: u arxitektura birligini moduli hisoblanadi va u bir necha ma‘lumotlar turlarini aniqlagan holda sermazmun tushunchaga ega. Dastur tizimi sinflari hammasi bir-biri bilan o’zaro aniq bog’lanishda bo’ladi. Ob‘yektli dasturlash tizimida ikkita asosiy tur sinflarining o’zaro bog’lanishi aniqlangan. Birinchi bog’lanish ―Mijoz va yetkazuvchi‖, odatda mijoz bog‗lanishi deb ataladi yoki ichma-ich bog‗lanishda bo‗ladi. Ikkinchi bog‗lanish ―Ota-onalar va vorislar‖ bu odatda vorislik deb nomlanadi. Ta‘rif 1. A va V sinflar ―Mijoz va yetkazuvchi‖ bog‗lanishida bo‗lsa, agar V sinfning maydoni A sinf ob‘yekti bo‗lsa, A sinf V sinfning yetkazuvchisi deb nomlanadi, V sinfi A sinfning mijozi deb ataladi. Ta‘rif 2. A va V sinflar ―Ota-onalar va vorislar‖ bog‗lanishida deyiladi, agar V sinf e‘lon qilishda A sinf ota sinf sifatida ko’rsatilgan bo’lsa, V sinf A sinfning vorisi deb ataladi. Ikkala bog‗lanish – vorislik va ichma-ich joylashganlik tranzitivlik xossasiga ega. Agar V sinf A sinf mijozi va S sinf V sinfning mijozi bo‗lsa S sinf A sinfning mijozi bo‗ladi. Agar V sinf A sinf vorisi bo‗lsa, S sinf V sinfning vorisi bo‗lsa S sinf A sinfning vorisi bo‗ladi. Yuqoridagi 1 va 2 ta‘riflar to‗g‗ridan to‗g‗ri mijoz va yetkazuvchi, vorislik munosabatlarini aniqlaydi (1-bosqich mijoz,1-bosqich yetkazuvchi va hokazo). Rekursiv tarzida shuni aniqlash mumkinki: to‗g‗ridan to‗g‗ri k-chi bosqichdagi mijoz k+1 bosqichdagi mijoz bilan bog‗lanishda bo‗ladi. Vorislik bog‗lanishida, tabiiy tildagi tushunchalar qo‗llanadi. To‗g‗ridan to‗g‗ri bo‗lmagan vorislik ajdodlar va avlodlar bog‗lanishi deyiladi. Odatda sinflarni loyihalashda savol kelib chiqadi, sinflarni o‗zaro munosabatini qanday qurish kerak bo‗ladi.Ikkita oddiy sinflarga misol ko‗ramiz – Square va Rectangle, ular kvadrat va 46 to‗g‗rito‗rtburchaklardir. Shunisi tushunarliki bu sinflar vorislik bog‗lanishida bo‗ladi, lekin ikkita sinfdan qaysi biri ajdod sinf bo‗ladi. Yana ikkita sinfga misol – Car va Person, ya‘ni mashina va inson. Bu sinflar bilan Person_of_Car ya‘ni mashina egasi sinfi qanday aloqada bo‗lishi mumkin? Bu ikki sinf bilan vorislik bog‗lanishida bo‗lishi mumkinmi? Sinflarni loyihalash bilan bog‗liq bu savollarga javob topish uchun shuni nazarda tutish kerakki, ―Mijoz-yetkazuvchi‖ bog‗lanishi ―Ega‖ (―Has‖) bog‗lanishini, vorislik bog‗lanishi esa ―Bir xil‖ (―is a‖) bog‗lanishi tushunchalarini ifodalaydi. Square va Rectangle sinflari misoli tushunarli, har bir ob‘yekt kvadrat to‗g‗rito‗rtburchakdir, shuning uchun bu sinflar o‗rtasida vorislik bog‗lanishi ifodalanadi va Rectangle sinfi ota-onalar sinfini ifodalaydi. Square sinfi uning o‗g‗lidir. Mashina egasi mashinaga ega va insondir. Shuning uchun Person_of_Car sinfi Car sinfining mijozi bo‗lib hisoblanadi va Person sinfining vorisidir.
|
| |