C# Kortejlar C# kartejlarni e’lon qilish


Download 260.19 Kb.
bet13/28
Sana18.06.2023
Hajmi260.19 Kb.
#1574109
1   ...   9   10   11   12   13   14   15   16   ...   28
Bog'liq
dasturlash tyorya 8 shrift

49. C# tilida statik sinf
Sizda statik a'zolar funktsiyalari bo'lishi mumkin. Statik a'zo funktsiyalari o'zlarining sinflarida e'lon qilingan natik bo'lmagan ma'lumotlar yoki statik bo'lmagan funktsiyalarga to'g'ridan-to'g'ri murojaat qila olmaydi. Buning sababi ular uchun bu ko'rsatgichning yo'qligi, shuning uchun nostandart ma'lumotlarning qanday ishlashini bilish uchun hech qanday yo'l yo'q. Masalan, agar statik funktsiyani o'z ichiga olgan ikkita sinf ob'ektlari bo'lsa, va agar f () statik bo'lmagan o'zgaruvchi vari bo'lsa, ushbu sinfda aniqlanadigan statik bo'lmagan o'zgaruvchan vari ishlatilganmi? Kompaniya bunday muammoni hal qila olmaydi. Bu statik funktsiyalar faqat boshqa statik funktsiyalarga yoki statik ma'lumotlarga nisbatan qo'llanilishi mumkinligi sababli. Shuningdek, statik funktsiyalar virtual bo'lishi mumkin emas yoki Kontika modifikatorlari bilan uchish mumkin emas. Statik funktsiya, yoki sinf ob'ektidan foydalanish yoki sinf nomi va qamrov operatoridan foydalanish deb atash mumkin. Shunga qaramay, ob'ektni ishlatishda statik funktsiyani chaqirganda ham, u ushbu ko'rsatgichga uzatilmaydi. Keyingi qisqa dastur statik funktsiyalardan foydalanishning ko'plab usullaridan biri hisoblanadi. Masalan, tarmoqdagi umumiy fayl kabi cheklangan manbaga kirish zarur bo'lganda, vaziyat etarlicha keng tarqalgan. Ushbu dastur ko'rsatganidek, statik ma'lumotlar va funktsiyalardan foydalanish ob'ekt resurs holatini tekshirish va iloji bo'lsa, unga kirish usulidan foydalanmoqda.Ushbu dasturni boshlaganingizda ekranda "qulflangan" ko'rinadi. Shuni ta'kidlaymizki, set_ccess () funktsiyasi sinf nomi va qamrov operatori tomonidan kelib chiqadi. Get_ccess () funktsiyasi ob'ekt va "nuqta" operatoriga etkaziladi. Statik funktsiyani chaqirganda, ushbu shakllardan birortasini ishlatish mumkin va ikkalasi ham xuddi shunday ta'sir qiladi. Uning ishi haqidagi tushunchasi to'g'ri ekanligiga ishonch hosil qilish uchun ushbu dastur bilan biroz tajribaga ega.


48. C# tilida polimorfizm va me’roslik.
Polimorfizm "ko'p shakllar" degan ma'noni anglatadi va bizda meros bo'yicha bir-biri bilan bog'liq bo'lgan ko'plab sinflar mavjud bo'lganda paydo bo'ladi.Oldingi bobda aytib o'tganimizdek; Meros bizga boshqa sinfdan maydonlar va usullarni meros qilib olish imkonini beradi. Polimorfizm bu usullardan turli vazifalarni bajarish uchun foydalanadi. Bu bizga bitta harakatni turli yo'llar bilan bajarishga imkon beradi.Misol uchun, deb nomlangan Animalusulga ega bo'lgan asosiy sinfni o'ylab ko'ring animalSound(). Hayvonlarning olingan sinflari cho'chqalar, mushuklar, itlar, qushlar bo'lishi mumkin - va ular hayvonlarning o'ziga xos ovoziga ega (cho'chqalar, mushuklar miyovlari va boshqalar):
class Animal // Base class (parent) { public void animalSound()
{ Console.WriteLine("The animal makes a sound"); }}
class Pig : Animal // Derived class (child) { public void animalSound()
{ Console.WriteLine("The pig says: wee wee"); }}
class Dog : Animal // Derived class (child) { public void animalSound()
{ Console.WriteLine("The dog says: bow wow"); }}
Meros bo'limidan esda tutingki , biz :sinfdan meros olish uchun belgidan foydalanamiz.Endi biz Pigva ob'ektlarni yaratishimiz va ikkalasida ham usulni Dogchaqirishimiz mumkin:animalSound()



Download 260.19 Kb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   ...   28




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