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


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

Atributlar 
Atribut - bu qiymat saqlanishi mumkin bo'lgan nomli joy (yoki ular 
aytganidek, slot). 
Sinf atributlari atributlar bo'limida keltirilgan. Umuman olganda, atribut 
deklaratsiyasi quyidagi sintaksisga ega. ko'rinish NAME ko'plik : turi = 
boshlang'ich_qiymat {xususiyatlari} Ko'rinish, odatdagidek, +, –, # bilan 
belgilanadi. Shunga qaramay, agar ko'rinish belgilanmagan bo'lsa, unda standart 
ko'rinish qiymati nazarda ut nomi tagiga chizilgan boÿlsa, bu atributning qamrovi 
odatdagidek sinf namunasi emas, balki sinf ekanligini bildiradi. Boshqacha qilib 
aytganda, ushbu sinfga tegishli barcha ob'ektlar ushbu atributning barcha misollar 
uchun umumiy bo'lgan bir xil qiymatiga ega. Oddiy holatda (pastki chiziqsiz), har 
bir sinf misoli o'zining individual atribut qiymatini saqlaydi.
Izoh atribut tavsifining tagiga chizish C++ tilidagi statik deskriptorga mos 
keladi. Kardinallik, agar mavjud bo'lsa, berilgan atributni massiv (aniq yoki noaniq 
uzunlik) sifatida belgilaydi. Atribut turi ibtidoiy (oÿrnatilgan) yoki foydalanuvchi 
tomonidan belgilangan tur (3.2.8-boÿlimga qarang). Dastlabki qiymat aniq ma'noga 
ega: bu sinfning namunasi yaratilganda, atribut belgilangan qiymatga o'rnatiladi. 
E'tibor bering, agar boshlang'ich qiymat ko'rsatilmagan bo'lsa, standart qiymat qabul 
qilinmaydi. Agar siz atributning qiymatga ega bo'lishini istasangiz, sinf konstruktori 
unga g'amxo'rlik qilishi kerak. Boshqa har qanday model elementi singari, atributga 


cheklovlar va nomlangan qiymatlar ko'rinishida qo'shimcha xususiyatlar berilishi 
mumkin. Atributlar boshqa standart xususiyatga ega: o'zgaruvchanlik. Jadvalda. 3.2 
ushbu xususiyat uchun mumkin bo'lgan qiymatlarni sanab o'tadi. 
O'zgaruvchan Atribut qiymatini o'zgartirishga hech qanday cheklovlar yo'q.
Bu qiymat faqat ko'pligi birdan katta bo'lgan atributlar uchun amal qiladi. 
Atributning qiymati o'zgarganda, qiymatlar qatoriga yangi qiymat qo'shiladi, lekin 
eski qiymatlar o'zgarmaydi yoki yo'qoladi. Bunday atribut uning o'zgarishi tarixini 
"eslab qoladi". 
Atribut qiymati ob'ekt ishga tushirilganda o'rnatiladi va uni o'zgartirib 
bo'lmaydi.
Masalan, HR axborot tizimida Person klassi, ehtimol, xodimning nomini o'z 
ichiga olgan atributga ega bo'lishi mumkin. Jadvalda. 3.3-bandda bunday atribut 
deklaratsiyasiga misollar keltirilgan. Barcha tavsiflar sintaktik jihatdan to'g'ri va 
modelning joriy tafsilotlari darajasiga ko'ra ishlatilishi mumkin. 
Misol 
nomi Minimal mumkin bo'lgan tavsif - faqat atribut nomi ko'rsatilgan 
+ism 
-nom: String 
-name [1..3] : String 
-name: String = "Novikov" 
+name: string {frozen} 
Ism va ochiq ko'rinish ko'rsatilgan - bu nom to'g'ridan-to'g'ri manipulyatsiya 
qilinadi deb taxmin qilinadi 
Nomi, turi va yopiq ko'rinishi ko'rsatilgan - nom bilan manipulyatsiyalar 
maxsus operatsiyalar yordamida amalga oshiriladi 
Ko'plik ko'rsatilgan (uch komponentni saqlash uchun; familiyasi, ismi va 
otasining ismi) 
Dastlabki qiymat belgilangan 
Atribut dastlabki topshiriqdan keyin o'z qiymatini o'zgartirmasligi e'lon 
qilinadi va umumiy 



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