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