|
Mustaqil ish mavzu: O’zaro bog’langan sinflarni tashkil etish
|
bet | 1/2 | Sana | 08.06.2024 | Hajmi | 22,12 Kb. | | #261746 |
Bog'liq O’zaro bog’langan sinfl11111111
AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI FARG’ONA FILIALI
MUSTAQIL ISH
Mavzu:O’zaro bog’langan sinflarni tashkil etish
Sinf – bu maxsus turlar bo’lib, o’zida maydon, usullar va xossalarni mujassamlashtiradi.
Sinf murakkab struktura bo’lib, ma‘lumotlar ta‘riflaridan tashqari, protsedura va funksiyalar ta‘riflarini o’z ichiga oladi. Sodda sinf ta‘rifiga misol:
TPerson = class private
fname: string[15];
faddress: string[35];
public procedure Show;
end;
Sinf ma‘lumotlari maydonlar, protsedura va funksiya usullarI deb ataladi. Keltirilgan misolda TPerson – sinf nomi, fname va faddress – maydonlar nomlari, show – usul nomi.
Maydon – bu sinfga birlashtirilgan ma‘lumotlardir. Sinfga qarashli maydonlar oddiy yozuv maydoni kabi bo‗lib, ularning farqi har xil turda bo‗lishidir. Masalan,
Type TchildClass=Class
Fore: Integer;
Ftwo: String;
Fthree: Tobject;
End;
Maydonlarga murojaat qilish sinf xossalari va usullari yordamida amalga oshiriladi. Maydonga murojaat qilish uchun oldin sinf nomi yozilib, keyin ajratuvchi nuqta qo‗yilib maydon nomi yoziladi. 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 turlari
Har 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.
|
| |