12-mavzu: Sinflar tuzilishi: atributlar, operatsiyalar, bog’lanishlar, umumiylashtirish, assotsiatsiyalar


Download 151.75 Kb.
Pdf ko'rish
bet6/7
Sana30.04.2023
Hajmi151.75 Kb.
#1406097
1   2   3   4   5   6   7
Bog'liq
12-Sinflar tuzilishi

Umumlashtirish 
Umumlashtirish munosabati ko'pincha sinf diagrammasida qo'llaniladi. 
Darhaqiqat, bitta tizimdagi ob'ektlar o'rtasida umumiy narsa bo'lmagan vaziyatni 
tasavvur qilish qiyin. Qoida tariqasida, umumiy narsa bor va bu generalni alohida 
sinfga ajratish maqsadga muvofiqdir. Shu bilan birga, superklassda to'plangan 
umumiy komponentlar avtomatik ravishda kichik sinflar tomonidan meros qilib 
olinadi. Shunday qilib, tavsiflarning umumiy soni kamayadi, ya'ni xato qilish 
ehtimoli kamayadi. Jeneriklardan foydalanish tizim dizaynerining erkinligini 
cheklamaydi, chunki agar kerak bo'lsa, meros qilib olingan komponentlar kichik 
sinfda bekor qilinishi mumkin. Umumlashtirishda almashtirish printsipi bajariladi. 
Aslida, bu sizning kodingizning moslashuvchanligi va ko'p qirraliligini oshirish va 
turni tekshirish orqali ta'minlangan mustahkamlikni saqlashni anglatadi. Darhaqiqat, 


agar, masalan, protsedura parametrining turi sifatida yuqori sinf ko'rsatilgan bo'lsa, 
unda ushbu yuqori sinfning har qanday kichik sinfining ob'ekti unga argument 
sifatida uzatilganda protsedura teng muvaffaqiyat bilan ishlaydi. Superklass sek.da 
tasvirlangan usullardan biri bilan aniqlangan beton bo'lishi mumkin.
Bu sinflarning barchasi ob'ektning o'z nomini o'z ichiga olgan atributga ega, 
deb taxmin qilish o'rinli bo'lib, uni bir qator bir xillardan ajratib turadi. Oddiylik 
uchun biz bunday atribut 55- turda deb faraz qilamiz. Bunday holda siz String uchun 
mas'ul bo'lgan superklassni belgilashingiz mumkin. ushbu atributni saqlang va u 
bilan ishlang.
Umumlashtirish munosabati. Biroq, fan sohasini chuqurroq tahlil qilish shuni 
ko'rsatadiki, tanlangan sinflar uchun tegishli nom bilan ishlash aynan bir xil tarzda 
amalga oshirilmaydi. Darhaqiqat, bo'limlar va lavozimlarga tegishli nomlarni berish 
va o'zgartirish kadrlar bo'limining axborot tizimiga tegishli, ammo xodimning o'z 
ismini belgilash (o'zgartirish u yoqda tursin) bu chegaralardan chiqib ketishi aniq. 
Ushbu mulohazalarga asoslanib, biz rasmda ko'rsatilgan umumlashmalarning 
tuzilishiga kelamiz. Etustdinagki, biz birlik superklassini mavhum deb belgilagan 
edik, ya'ni uning bevosita misollari bo'lishi mumkin emas, chunki biz tizimda ushbu 
sinf ob'ektlariga ega bo'lishini kutmaymiz. Bu sinfdagi Unit klassi faqat bitta atribut 
va ikkita operatsiya tavsiflarini bir joyga olib kelish va ularni ikki marta 
takrorlamaslik uchun kerak. 
-title: String 
+setTitle(sarlavhada: 
String) +getTitle(): String 
Abstrakt supersinf 
Umumlashtirish 
munosabatlari 
Tartib munosabatiga mos keladigan digrafning konturlari yo'qligini ko'rsatish 
oson (agar tartib qat'iy bo'lmasa, ilmoqlardan tashqari). Bu darhol cheklangan tartibli 
to'plam minimal va maksimal elementlarga ega ekanligini anglatadi. Digrafda ular 
yoylarni (manbalarni) o'z ichiga olmaydigan tugunlarga va yoylar chiqmaydigan 


(cho'kish) tugunlariga mos keladi. Bir nechta minimal va maksimal elementlar 
bo'lishi mumkin. Agar tartiblangan to‘plam aynan bitta maksimal va bitta minimal 
elementga ega bo‘lsa, u cheklangan yaxshi tartiblangan to‘plamdir. Agar aniq bitta 
minimal element va bir nechta maksimal elementlar mavjud bo'lsa, bu daraxt 
(ierarxiya). 
Shunday qilib, UML sinfga bir nechta supersinflarning pastki sinfi bo'lishiga 
imkon beradi (bir nechta meros), bazaviy sinflar umumiy yuqori sinfga (bir nechta 
umumlashtirish ierarxiyasiga) ega bo'lishi shart emas va qisman tartiblashdan 
tashqari hech qanday cheklovlar qo'yilmaydi (ya'ni, tsikllar yo'q). ). umumlashtirish 
zanjirida). Ushbu shartning buzilishi sintaksis xatosidir, ammo barcha vositalar bu 
holatni tekshirmaydi - tsikl sezilarli bo'lmasligi mumkin, chunki umumlashtirish 
siklining alohida yoylari turli diagrammalarda ko'rsatilishi mumkin. To'qnashuvlar 
bir nechta umumlashtirishlar bilan sodir bo'lishi mumkin: supersinflar bitta kichik 
sinfga kiritilmaydigan elementlarni o'z ichiga oladi, masalan, bir xil nomga ega, 
ammo har xil turdagi atributlar. UMLda bir nechta umumlashtirish ziddiyatlari 
modelning muvofiqligi qoidalarining buzilishi deb hisoblanadi (1.8.2-bo'lim). 
Shaxsiy xususiyatlar tavsifi bilan misolni ko'rib chiqing. HR-axborot tizimi uchun 
bu misol biroz sun'iy, ammo murakkab tizimlarda yanada murakkab vaziyatlar 
mavjud. Shu bilan birga, metaklass stereotipidan foydalanish bu erda tasvirlangan . 
Aytaylik, biz jins va mulkka bo'lgan munosabat kabi shaxsiy xususiyatlarni 
modellashtirmoqdamiz. Keyin bu vaziyatni rasmda ko'rsatilgan diagramma 
yordamida tasvirlash mumkin.

Download 151.75 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling