sinf hodisalari (dasturlash)

DOC 52,5 KB Bepul yuklash

Sahifa ko'rinishi (5 sahifa)

Pastga aylantiring 👇
1
1452789905_63498.doc sinf hodisalari (dasturlash) reja: 1. komponentlar. 2. komponentli sinflarni e’lon qilish. 3. xususiyatlarni e’lon qilish. 4. voqealar ishlatgichlarining e’lonlari. c++builder, nafaqat ansi c++ standarti kiritayotgan yangiliklarni qo‘llab-quvvatlaydi, balki tilni yangi imkoniyatlar bilan boyitadi. shuni tushunib olish muximki, tilni kengaytirish xech qachon quruq maqsad bo‘lib qolmagan, va xamon standart c++ doirasida yozilgan mantlarni kompilyatsiya qilish mumkin. biroq ilovalarni tez ishlab chiqish texnologiyasi (rad) uchun c++builder taqdim etgan imtiyozlardan to‘liq foydalanish uchun, kiritilgan til kengaytirishlarni qabul qilishga to‘g‘ri keladi. kengaytirishlarning ayrimlari (maslan, _classid) ni c++builder asosan ichki foydalanish uchun rezervlaydi. boshqa kengaytirishlar(_int8,_int6 va h.k.) ochiq-oydin tushunarli bo‘lib turibdi, shuning uchun bu yerda ular ko‘rib chiqilmaydi. quyida c++ning eng axamiyatli kengaytirishlari ko‘rib chiqiladi. ular asosan tarkibli sinflarga mansub bo‘lib, c++builder muxitida ishlab chiqilayotgan ilovalarda muttasil uchrab turadi. komponentlar (tarkibiy qismlar) komponentlar ko‘p o‘rinda, c++standart sinflariga qaraganda, yuqoriroq darajadagi inkapsulyatsiyalashga erishadilar. buni tugmachaga ega bo‘lgan dialogni ishlab chiqish kabi oddiy misolda ko‘rib chiqamiz. …
2
odisaga ishlov bergichga kiritish. komponentli sinflarni e’lon qilish c++builder tarkibiga kiradigan vizual komponentalar kutubxonasi - vcl sinflarining ilgarilovchi e’lonlari _declspec modifikatoridan foydalanadi: _declspec( ) bu kalit-so‘z, nafaqat bevosita modifikatsiyalanayotgan e’lon oldidan, balki e’lonlar ro‘yxatining to‘g‘ri kelgan yerida paydo bo‘lishi mumkin, bunda spetsifikator quyidagi qiymatlardan birini qabul qiladi: delphiclass - u tobject sinfiga tegishli vcl ning bevosita yoki bilvosita xosilalarining ilgarilovchi e’loni uchun qo‘llanadi. u vcl ning rtti ,konstruktorlar, destruktor va istisnolar bilan muomalasida muvofiqlik qoidalarini belgilaydi. delphireturn - u currency, ansistring, variant, tdatetime va set sinflariga tegishli vcl ning bevosita yoki bilvosita xosilalarining ilgarilovchi e’loni uchun qo‘llanadi. u vcl ning parametrlar va a’zoqfunksiyalarning qaytarilayotgan qiymatlari bilan muomalasida muvofiqlik qoidalarini belgilaydi. pascal implementation tarkibli sinf ob’ektli pascal tilida ishga tushirilganini ko‘rsatadi. vcl sinf quyidagi cheklanishlarga ega: · virtual bazaviy sinflarga vorislik qilish man etilgan. · tarkibli sinflarning o‘zlari vorislik uchun bazaviy sinf sifatida xizmat qila olmaydi. · tarkibli ob’ektlar uyumning dinamik …
3
i loyixalash bosqichida ob’ektlar inspektori tomonidan aks ettiriladigan komponentalar xususiyatlarini spetsifikatsiyalash uchun _published modifikatoridan foydalanadi. agar komponentaning ishlab chiquvchisi biron-bir xususiyat qiymatini modifikatsiyalashga ruxsat berishni xoxlab qolsa, bu xususiyat _ published sifatida e’lon qilinmaydi. ushbu kalit-so‘z bilan aniqlanayotgan ko‘rimlilik qoidalari public sifatida e’lon qilingan ma’lumotlar a’zolari, metodlar va xususiyatlarning ko‘rimlilik qoidalaridan farq qilmaydi. yagona farq shundaki, dasturning ishlash paytida ob’ektlar inspektoriga rtti axboroti uzatiladi. voqealar ishlatgichlarining e’lonlari c++builder voqealar ishlatgichlari funksiyalarining e’loni uchun _closure modifikatoridan foydalanadilar: (_closure* )( ) bu kalit-so‘z funksiya ko‘rsatkichini name nomi bilan aniqlaydi. oddiy funksiyaning 4 baytli adresli ko‘rsatkichidan farqli o‘laroq (bu ko‘rsatkich cs:ip kod registrlariga uzatiladi), 8 baytli _closure yana yashirin parametrni xam uzatadi (joriy sinf ekzemplyariga txis o‘zgaruvchan ko‘rsatkichi). 8 baytli ko‘rsatkichlarning kiritilishi, nafaqat aniqlangan sinfning biron-bir funksiyasini chaqirib olish imkonini beradi, balki ushbu sinfning aniqlangan ekzemplyaridagi funksiyaga murojaat qilish imkonini xam beradi. bu qobiliyat ob’ektli paskaldan o‘zlashtirilgan edi, _closure yesa vizual komponentalar kutubxonasidagi …
4
siyalarning tez chaqirilishi c++builder kompilyatorininggina vazifasiga kirmaydi. voqealarga ishlov berish funksiyalarini e’lon qilishda_fastcall ning qo‘llanishiga aloxida e’tibor berish kerak. bu voqealarni c++builder avtomatik tarzda generatsiya qiladi. nomlar fazosi oddiy ilovalarning ko‘pi dastlabki dastur matniga ega bo‘lgan bir nechta fayldan iborat. bu fayllar dasturchilar guruxi tomonidan yaratilishi va xizmat ko‘rsatilishi mumkin. pirovard natijada barcha fayllar birga to‘planadi va tayyor ilovani yig‘ishdan iborat bo‘lgan so‘nggi protseduradan o‘tadi. an’anaviy tarzda qabul qilinishicha, biron bir lokal soxa (funksiya, sinf tanasi yokitranslyatsiya moduli) ga kiritilmagan barcha nomlar umumiy global ismlarni bo‘lib olishadi. shuning uchun, agar ayrim modullarni yig‘ish jarayonida nomlar takroran aniqlangani ayon bo‘lib qolsa, bu xolda xar bir nomni qandaydir yo‘l bilan farqlash zarurligini talab qiladi. c++da bu muammoning yechilishi nomlar fazosi(namespace) mexanizmi zimmasiga yuklatilgan. bu mexanizm ilovani bir necha tarmoq tizimlar (tizimchalar) ga bo‘lib tashlash imkonini beradi, bunda xar bir tarmoq tizim nomlarni tanlashda erkin ish tutadi, xamda uning muallifi xuddi shunday ismlardan …
5
b’ektlariga turlari avtomatik tarzda (yashirish xolda) o‘z sinfi turiga qayta o‘zgaradigan qiymatlarni berish mumkin. konstruktorni e’lon qilishda explicit konstruktoridan foydalanish mumkin: explicit bu xolda berilgan sinf konstruktorlarini explicit kalit-so‘z bilan e’lon qilishda sinfning barcha ob’ektlariga faqat shunday qiymatlarni berish mumkinki, bu qiymatlar turlari o‘z sinfi turiga ochiq-oydin qayta o‘zagaradigan bo‘lishi kerak. class x public: explicit x(int); explicit x(const char*, int =0); }; void f(x arg) ( x a = x (1) ; x b = x("satr",0); a = x(2); } konstruktorlarning ochiq-oydin e’lonlari shuni talab qiladiki, nom berish operatorlaridagi qiymatlar qaysi sinfiy tur ob’ektlariga berilgan bo‘lsa, ular xuddi shu sinfiy turga qayta o‘zgartirilishini talab qiladi. o‘zgaruvchan e’lonlar fon masalasi, uzish ishlatgichi yoki kiritish-chiqarish porti tomonidan o‘zgartirilishi mumkin bo‘lgan o‘zgaruvchini e’lon qilishda volatile modifikatori qo‘llanadi: volatile ; c++da volatile kalit-so‘zning qo‘llanishi sinflar va a’zo-funksiyalarga xam tegishlidir. bu kalit-so‘z ko‘rsatilgan ob’ekt qiymatiga nisbatan taxminlar qilishni kompilyatorga ta’qiqlaydi, chunki bunday qilinsa, ushbu ob’ektni …

Ko'proq o'qimoqchimisiz?

Faylni Telegram orqali bepul yuklab oling.

To'liq faylni yuklab olish

"sinf hodisalari (dasturlash)" haqida

1452789905_63498.doc sinf hodisalari (dasturlash) reja: 1. komponentlar. 2. komponentli sinflarni e’lon qilish. 3. xususiyatlarni e’lon qilish. 4. voqealar ishlatgichlarining e’lonlari. c++builder, nafaqat ansi c++ standarti kiritayotgan yangiliklarni qo‘llab-quvvatlaydi, balki tilni yangi imkoniyatlar bilan boyitadi. shuni tushunib olish muximki, tilni kengaytirish xech qachon quruq maqsad bo‘lib qolmagan, va xamon standart c++ doirasida yozilgan mantlarni kompilyatsiya qilish mumkin. biroq ilovalarni tez ishlab chiqish texnologiyasi (rad) uchun c++builder taqdim etgan imtiyozlardan to‘liq foydalanish uchun, kiritilgan til kengaytirishlarni qabul qilishga to‘g‘ri keladi. kengaytirishlarning ayrimlari (maslan, _classid) ni c++builder asosan ichki foydalanish uchun rezervlaydi. boshqa kenga...

DOC format, 52,5 KB. "sinf hodisalari (dasturlash)"ni yuklab olish uchun chap tomondagi Telegram tugmasini bosing.

Teglar: sinf hodisalari (dasturlash) DOC Bepul yuklash Telegram