12-mavzu: Sinflar tuzilishi: atributlar, operatsiyalar, bog’lanishlar, umumiylashtirish, assotsiatsiyalar
Download 151.75 Kb. Pdf ko'rish
|
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling