6
maydoni ko`rsatiladi.
Building turidagi har bir ob`ekt o`zining
area va
occupants qiymati nusxasiga ega bo`lganligi uchun, bir odamga to`g`ri
keladigan bino maydonini
hisoblash jarayonida areaPerPerson() uslubni
chaqirish uchun, aniq chaqiruvchi ob`ektga tegishli bo`lgan ushbu
o`zgaruvchilarning nusxasidan foydalaniladi.
areaPerPerson() uslubi yopuvchi figurali qavs bilan tugallanadi, ya`ni
yopuvchi
figurali qavs topilganda, dasturni boshqarish chaqiruvchi
ob`ektga uzatiladi. Endi e`tibor bilan Main() uslubidagi kod satrini ko`rib
chiqamiz:
house.areaPerPerson();
Ushbu operator house ob`ekti uchun
areaPerPerson() uslubini
chaqirib beradi. Ko`rayapsizki, buning uchun ketidan "nuqta"
operatori
keladigan ob`ekt nomidan foydalaniladi. Uslub chaqirilganda, dastur
boshqarilishini amalga oshirish
uslub tanasiga uzatiladi, u tugatilgandan
so`ng esa boshqaruv chaqiruv muallifiga qaytariladi hamda bevosita
uslubni chaqirishdan keyin joylashgan dastur
matni satridan boshlab
dasturni bajarish qaytadan boshlanadi.
Bu holda
house.areaPerPerson() chaqirish natijasida,
house ob`ekti
tomonidan belgilangan bino uchun, bir odamga to`g`ri
keladigan maydon
miqdori ko`rsatiladi.
Xuddi shunday
office.areaPerPerson() ni chaqirish natijasida
office
ob`ekti ko`rsatgan bino uchun bir odamga
mos keluvchi maydon miqdori
ko`rsatiladi. Boshqacha qillib aytganda, har gal,
areaPerPerson() uslubi
chaqirilganda, berilgan ob`ekt tomonidan berilgan bino uchun odamga mos
keluvchi maydon miqdori ko`rsatiladi.
Shunga e`tibor bering.
area va
occupants nusxaning o`zgaruvchilari
areaPerPerson() uslub ichida hech qanday atributlarsiz qo`llaniladi, ya`ni
ulardan oldin na ob`ekt nomi, na "nuqta" operatori bo`lmaydi.
Bu juda
muhim: agar uslub o`z sinfidagi nusxaning o`zgaruvchisini ishga solsa, u
buni to`g`ridan-to`g`ri "nuqta" operatorisiz hamda ob`ektni bahona
qilmasdan amalga oshiradi. Bu esa mantiqan to`g`ri. Axir
uslub doimo aniq
bir sinfga mansub bo`lgan ob`ekt uchun chaqiriladi. Demak, chaqiruv
amalga oshirilgan bo`lsa, ob`ekt ma`lum bo‘ladi. Shunday qilib, uslub
ichida ob`ektni ikkinchi marotaba ko`rsatishning hojati bo`lmaydi. Demak,