Avtomatika va elektrotexnologiya



Download 4,36 Mb.
Pdf ko'rish
bet253/263
Sana31.12.2021
Hajmi4,36 Mb.
#264867
1   ...   249   250   251   252   253   254   255   256   ...   263
Bog'liq
informatika va axborot texnologiyalari

Virtual  metodlar.  To‗la  ma‘noda  obyektlar  polimorfizmi  virtual  metodlar  yordamida 
amalga  oshiriladi.  Obyekt  turini  aniqlashda  metod  sarlavhasidan  keyin  Virtual  so‗zini  qo‗yish 
bilan aniqlanadi. 
Procedure (
); Virtual;  
Function (
):; Virtual;  
Virtual metodlar aniqlanishida quyidagi shartlar bajarilishi kerak. 
  Ajdod  obyekt  turida  birorta  metod  virtual  qilib  aniqlangan  bo‗lsa,  shu  turdan  hosil 
bo‗luvchi  barcha  obyektlarda  ham  shu  nomdagi  metodlar  virtual  bo‗lishi  kerak,  ya‘ni  virtual 
metod keyinchalik statik deb e‘lon qilinishi mumkin emas. 
  Agar  virtual  metod  avlod  obyektlarda  qayta  aniqlanadigan  bo‗lsa,  bu  metod  nomi  va 
formal parametrlar, ularning joylashuvi o‗zgarmasligi kerak. Agar virtual metod funksiya bo‗lsa, 
uning qiymatini turi o‗zgarmasligi kerak. 
  Obyekt turida obyektni initsializatsiya qiluvchi  metod bo‗lishi kerak.  Bu metod boshqa 
metodlardan  e‘lonida Procedure so‗zi o‗rnida Constructor so‗zini ishlatilishi bilan farq qiladi.  
Bu  kalit  so‗z  virtual  metodlar  uchun  boshlang‗ich  aniqlash  ishlarini  amalga  oshiradi. 
Tarkibida  virtual  metodga  ega  obyekt  albatta  konstruktor  bo‗lishi  kerak.  Konstruktor  virtual 
metodlardan oldin chaqirilishi shart, aks holda noaniq holat yuzaga keladi. 
O‗z ichida virtual metodi bor obyekt turidagi har bir o‗zgaruvchi alohida o‗z konstruktori 
bilan  initsializatsiya  qilinishi  kerak.  Har  bir  obyekt  turi  o‗zining  ―virtual  metodlar  jadvali‖ga 
(VMT)  ega  bo‗ladi.  Bu  jadvalda    obyekt  turi,  har  bir  virtual  protsedura  va  funksiyalar 
kodlarining  adreslari  saqlanadi.  Birorta  obyekt  turidagi  o‗zgaruvchi  tomonidan  virtual  metod 
chaqirilganda bu metod adresi VMT jadvalidan aniqlanadi. 
Konstruktorning  vazifasi  obyekt  turidagi  har  bir  o‗zgaruvchi  bilan  VMT  jadvalini  bog‗lashdir. 
Har  bir  obyekt  uchun  VMT  yagona  bo‗ladi.  Obyektda  bir  nechta  konstruktor  e‘lon  qilingan 
bo‗lishi mumkin. Konstruktor statik bo‗lishi kerak, uning ichidagi chaqiriluvchi metodlar virtual 
bo‗lishi mumkin.  
Protsedura  va  funksiyalar  polimorf  obyektni  uzatganda  (virtual  metodi  bor),  u  holda 
undagi virtual  metodlar  adreslari mos  obyektlar  orqali VMT jadvaliga uzatiladi. Bu hol obyekt 
turini e‘lon qilingandagi metodni bajarilishini kafolatlaydi. Aniqroq qilib aytadigan bo‗lsak, agar 
Z obyekt Y obyektdan virtual metodlarni vorislik orqali olsa va bu metoddagi boshqa metodlarga 
murojaat  bo‗ladigan  bo‗lsa,  oxirgi  metodlar  Z  obyektidan  olinadi  (statik  metodlarda  Y  olinar 
edi). 
 

Download 4,36 Mb.

Do'stlaringiz bilan baham:
1   ...   249   250   251   252   253   254   255   256   ...   263




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish