C# Kortejlar C# kartejlarni e’lon qilish


C# tilida konstruktorlarni qayta yuklash


Download 260.19 Kb.
bet27/28
Sana18.06.2023
Hajmi260.19 Kb.
#1574109
1   ...   20   21   22   23   24   25   26   27   28
Bog'liq
dasturlash tyorya 8 shrift

20. C# tilida konstruktorlarni qayta yuklash.
Konstruktorni haddan tashqari yuklash usuli haddan tashqari yuklashga juda o'xshaydi . Bu konstruktorni bir nechta shaklda bekor qilish qobiliyatidir. Foydalanuvchi bir xil nomdagi sinfda ikki yoki undan ortiq konstruktorlarni belgilash orqali konstruktorni ortiqcha yuklashni amalga oshirishi mumkin. C# turli imzolarga ega konstruktorlarni ajrata oladi. bular. konstruktor bir xil nomga ega bo'lishi mumkin, lekin boshqa parametrlar ro'yxati bilan.Biz konstruktorlarni bir necha usul bilan ortiqcha yuklashimiz mumkin: Boshqa turdagi argumentlardan foydalanish Turli xil sonli argumentlardan foydalanish Argumentlarning boshqa tartibidan foydalanish Bu erda sinf nomi ADD . Birinchi konstruktor ikkita parametrga ega, birinchisi int, ikkinchisi float, ikkinchisi ham ikkita parametrga ega, birinchisi string tipidagi, ikkinchisi int tipidagi .
Bu erda konstruktorlar bir xil nomga ega, ammo parametr turlari har xil, bu usulni ortiqcha yuklash kontseptsiyasiga o'xshaydi. Parametrlar sonini o'zgartirish Bunday holda, biz turli xil parametrlarga ega bo'lgan ikki yoki undan ortiq konstruktorlardan foydalanamiz. Argumentlarning ma'lumotlar turlari bir xil bo'lishi mumkin, ammo parametrlar soni boshqacha bo'ladi. Bu erda sinf nomi ADD . Birinchi konstruktorda parametrlar soni ikkita, parametr turlari esa int . Ikkinchi konstruktorda parametrlar soni uchta, parametr turlari ham int

19. C# tilida sinf konstruktori.


Oddiy usullardan tashqari sinflarda konstruktor deb nomlangan maxsus usullar ham qo'llaniladi . Ushbu sinfning yangi ob'ekti yaratilganda konstruktorlar chaqiriladi. Konstruktorlar ob'ektni ishga tushirishni amalga oshiradilar. Ushbu sinfning yangi ob’ekti yaratilganda konstruktorlar chaqiriladi. Konstruktorlar ob’ektni ishga tushirishni amalga oshiradilar va sinflarni initsializatsiyalashga imkoniyat beradi, sinfning obyektini hosil qilganimizda, u xotiradan joy ajratadi. Ya’ni konstruktor – bu oddiy (struktura bo’yicha) funksiya, kirish ma’lumotlarini olib, sinf maydonlarini o’zlashtiradi. Konstrukto hosil qilingan har qaysi obyekt uni chaqiradi. Konstruktorlar biz biladigan metodlardan bir farqli jihati bor ekan bu esa hech qanday qiymat qaytarmaydi: na int tipi, na float tipi, na double tipini va hattoki void tipini ham.Shunaqa metod ham bularkanmi mana bularkanu. C# tilida biz agar konstruktor yozish esimizdan chiqib qoladigan bulsa o’zi jimlik buyicha sinf bitta konstruktorni yaratadi ammo u bizga kurinmaydi.Bunday konstruktorlarni standart konstruktorlar ham deb atashadi. Bunday konstruktorning parametrlari va tanasi yo‘q. Buni kurishingiz uchun oddiy misolni siz uchun tayorlab quydim: Kurdingizmi qanday aqlli tilni o’rganayapsiz. Konstruktorni asosiy qoidalaridan biri bu konstruktorning nomi sinf nomi bilan bir xil buladi. Konstruktorlarni asosiy qolipi bir xil bulgani bilan ular parametrlarining turlar bilan( int, string) farq qilishi mumkin. Talaba nomli class yaratamiz va uning ob’ekttini hosil qilamiz. Talaba ob’ektini yaratish uchun new Talaba() ishlatiladi. new operator Talaba ob'ekti uchun xotiradan joy ajratadi. Va keyin sinfda mavjud bulgan xossalar chaqirilib, ularga qiymatlar berilmoqda. a o'zgaruvchisi yaratilgan ob'ektga mos qiymatlarni xossalarga qiymatlar biriktiriladi. Agar biz ularga qiymat bermasak nima buladi degan savol tug’ilishi mumkin. Bu holat uchun ham C# bizga yechim topgan bundan havotir olmasak ham buladi.Agar xossalarimiz raqamli turda buladigan bulsa 0 ni oladi, satrlilar uchun esa null(yani hech qanday qiymat mavjud emas) ni oladi. Endi konstruktorlarni o’zimiz ham yaratib kuraylikchi. Shu bilan birga bir biridan farq qiladigan konstruktorlani ham kursatib o’tib ketaman.Unda keying misolga etibor bilan qarang.Yuqorida , ob’ektni ishga tushirish uchun standart konstruktor ishlatilgan . Biroq, biz o’zimiz konstruktorni aniqlaymiz.



Download 260.19 Kb.

Do'stlaringiz bilan baham:
1   ...   20   21   22   23   24   25   26   27   28




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