Java o’zi nima? Oydt java sintaksisi java da tiplar



Download 1,53 Mb.
Sana29.12.2021
Hajmi1,53 Mb.
#80265
Bog'liq
4. Havolalar

  • Mavzu: Havolalar.
  • Reja:
  • Havola nima?
  • Havolani ko‘rsatkichdan qanday farqi bor?
  • Havolalarlar qanday hosil qilinadi va qo‘llaniladi?
  • Havolalardan foydalanishda qanday chegaralar mavjud?
  • Bir funksiyadan boshqa funksiyaga ob’ektlarni havola sifatida uzatilishi qanday amalga oshiriladi?
  • Xulosa.
  • Havola – bu o‘zgaruvchi psevdonimidir. Havola hosil qilinishi bilan biz unga boshqa ob’ekt nomi yordamida uning adresatini o‘zlashtiramiz. SHu vaqtdan boshlab havola joriy ob’ektning alternativ nomi bo‘lib xizmat qiladi va bu havola ustida bajarilgan barcha amallar ushbu ob’ektga tegishli bo‘ladi.
  • Havolalarni e’lon qilishda adresatdagi ob’ekt tipi, undan keyin havola operatori(&), undan keyin esa havola nomi yoziladi. Havolalarni nomlashda o‘zgaruvchilarni nomlash uchun mumkin bo‘lgan ixtiyoriy nomdan foydalanish mumkin. Lekin ko‘p dasturchilar havola nomlari oldidan «r» perefiksini yozishni lozim deb hisoblashadi. Agarda someInt nomli butun tipli o‘zgaruvchi berilgan bo‘lsa, bu o‘zgaruvchiga havolani tuzish uchun quyidagi yozuvni yozish lozim.
  • int & rSomeInt = someInt
  • Agarda havolaning adresini olmoqchi bo‘lsak, u o‘zining adresati adresini qaytaradi. Havola o‘ziga xos tabiati aynan shu holatdir. Havolalar o‘zlarining adresatlarining psevdonimlari hisoblanadilar. YA’ni ular adresatlari bilan bir xil adresga egadirlar.

Havolalar orqali ixtiyoriy ob’ektlarga, shuningdek foydalanuvchi tomonidan aniqlangan ob’ektlarga ham murojaat qilish mumkin. Havolalar sinflar uchun emas, balki ob’ektlar uchun tuziladi. Haqiqatan ham havola quyidagicha e’lon qilinishi mumkin emas.

  • Havolalar orqali ixtiyoriy ob’ektlarga, shuningdek foydalanuvchi tomonidan aniqlangan ob’ektlarga ham murojaat qilish mumkin. Havolalar sinflar uchun emas, balki ob’ektlar uchun tuziladi. Haqiqatan ham havola quyidagicha e’lon qilinishi mumkin emas.
  • int & rIntRef = int ; // noto‘g‘ri
  • rIntRef nomli havolaga butun qiymatli o‘zgaruvchini o‘zlashtirish mumkin. Masalan,
  • int howBig = 200 ;
  • int & rIntRef = howBig ;
  • Agarda ko‘rsatkichga qiymat o‘zlashtirilmagan yoki u bo‘shatilgan bo‘lsa unga nol qiymat (0) berish lozim. Bu holat havolalarga tegishli emas. Umuman, havolalar nol bo‘lmasligi lozim va nol ob’ektlarga havolalarni saqlovchi dastur nokorrekt hisoblanadi. Nokorrekt dasturning ishlash jarayonida turli xatolik paydo bo‘lishi mumkin.

C++ tilida funksiyaga argumentlarni havola ko‘rinishida uzatishda ikki usuldan foydalaniladi. Ular yoki ko‘rsatkichlar yordamida, yoki havolalar yordamida uzatiladi.

  • C++ tilida funksiyaga argumentlarni havola ko‘rinishida uzatishda ikki usuldan foydalaniladi. Ular yoki ko‘rsatkichlar yordamida, yoki havolalar yordamida uzatiladi.
  • Ko‘rsatgichning qo‘llanilish sintaksisi havolaning ishlatilish sintaksisidan farq qilishiga qaramay ular yordamida bir xil ish bajariladi. Funksiyaga uning ko‘rinish sohasi chegarasi uchun ob’ektning nusxasi o‘rniga uning o‘zi uzatiladi.

Funksiyaga argument sifatida ko‘rsatkichni uzatishda, biz ob’ektning adresini funksiyaga beramiz va funksiya bu orqali berilgan adresdagi qiymatni o‘zgartirishi mumkin, ya’ni funksiya bevosita o‘ziga parametr qilib uzatiladigan ob’ekt ustida amallar bajaradi. swap() funksiyasi berilgan o‘zgaruvchilarni real qiymatlarini o‘zgartirishi uchun, uni shunday e’lon qilish lozimki, funksiya ikkita butun qiymatga ko‘rsatgichni uzatishi mumkin bo‘lsin. Funksiya ichida ko‘rsatkich adresidagi qiymatlarni olish operatoridan foydalanib x va u uzgaruvchilarning real qiymatlarini almashtiramiz.

  • Funksiyaga argument sifatida ko‘rsatkichni uzatishda, biz ob’ektning adresini funksiyaga beramiz va funksiya bu orqali berilgan adresdagi qiymatni o‘zgartirishi mumkin, ya’ni funksiya bevosita o‘ziga parametr qilib uzatiladigan ob’ekt ustida amallar bajaradi. swap() funksiyasi berilgan o‘zgaruvchilarni real qiymatlarini o‘zgartirishi uchun, uni shunday e’lon qilish lozimki, funksiya ikkita butun qiymatga ko‘rsatgichni uzatishi mumkin bo‘lsin. Funksiya ichida ko‘rsatkich adresidagi qiymatlarni olish operatoridan foydalanib x va u uzgaruvchilarning real qiymatlarini almashtiramiz.

Qachon havolalarni, qachon esa ko‘rsatgichlarni ishlatish lozim degan savolga men, 2 ta qoida bilan javob topasiz deyman.

  • Qachon havolalarni, qachon esa ko‘rsatgichlarni ishlatish lozim degan savolga men, 2 ta qoida bilan javob topasiz deyman.
  • 1- havolalarga qiymat berish mumkin emas. Bunda Agarda sizga oldin bir, keyin esa boshqa ob’ektni ko‘rsatish lozim bo‘lsa u holda albatta ko‘rsatgichlardan foydalanishga to‘g‘ri keladi.
  • 2- Havolalar nol qiymatni qabul qilmaydi. Bunda qaralayotgan ob’ektning nol bo‘lib qolish ehtimoli mavjud bo‘lsa ham havolalarni ishlatish mumkin emas. Bu holda ham ko‘rsatgichlar ishlatilishi kerak.
  • Ob’ektlarni qiymat sifatida uzatish muzeyga haqiqiy asar fotografiyasini topshirishga o‘xshagan amaldir. Agarda biror bir bekorchi fotosuratni buzib qo‘ysa uning originaliga hech qanday zarar etmaydi. Havola bo‘yicha ob’ektlarni uzatish esa muzeyga o‘zingizni uy adresingizni qoldirish va o‘zingizni ishtirokingizda qimmatbaho jihozga ko‘rishga o‘xshaydi.

Download 1,53 Mb.

Do'stlaringiz bilan baham:




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