4-Mavzu: Konstanta maydonlar. Qism sinflar. Reja Konstanta maydonlar O'qish maydonlari
Download 27.76 Kb.
|
4-Mavzu Konstanta maydonlar. Qism sinflar
- Bu sahifa navigatsiya:
- Qism usullar.
3. Qism sinflar va usullar.
Sinflar qism bo'lishi mumkin. Ya'ni, biz bir xil sinf ta'rifiga ega bo'lgan bir nechta fayllarga ega bo'lishimiz mumkin va kompilyatsiya qilinganidan so'ng, bu ta'riflarning barchasi bittaga yig'iladi. Masalan, loyihada ikkita kodli faylni aniqlaylik. Bu fayllar qanday nomlanishi unchalik muhim emas. Masalan, PersonBase.cs va PersonAdditional.cs. Ushbu fayllardan birida (qaysi biri bo'lishidan qat'iy nazar) biz quyidagi sinfni aniqlaymiz: public partial class Person { public void Move() { Console.WriteLine("Men harakatlanaman"); } } Boshqa faylda biz quyidagi sinfni aniqlaymiz: public partial class Person { public void Eat() { Console.WriteLine("I am eating"); } } Shunday qilib, loyihadagi ikkita fayl bir xil Person sinfining ta'rifini o'z ichiga oladi, ular ikki xil usulni o'z ichiga oladi. Va bu erda aniqlangan ikkala sinf ham qism. Buning uchun ular partial kalit so'zi bilan aniqlanadi. Keyin biz Person sinfining barcha usullaridan foydalanishimiz mumkin: class Program { static void Main(string[] args) { Person tom = new Person(); tom.Move(); tom.Eat(); Console.ReadKey(); } } Qism usullar. Qism sinflar qism usullarni o'z ichiga olishi mumkin. Bunday usullar partial kalit so'zi bilan ham aniqlanadi. Bundan tashqari, usul tanasi bo'lmagan qism usulning ta'rifi bitta qism sinfda, xuddi shu usulni amalga oshirish esa boshqa qism sinfda bo'ladi. Masalan, keling, yuqorida belgilangan Person sinflarini o'zgartiraylik. Birinchi sinf: public partial class Person { partial void Read() { Console.WriteLine("Men kitob o'qiyapman"); } } Birinchi sinf Read () usulini belgilaydi. Bundan tashqari, birinchi sinf ta'rifi berilganda, bu usul nima, u qanday harakatlarni bajarishi noma'lum. Shunga qaramay, biz uning parametrlari ro'yxatini bilamiz va uni birinchi sinfda chaqira olamiz. Ikkinchi sinf allaqachon Read() usulining asosiy qismini aniqlaydi. class Program { static void Main(string[] args) { Person tom = new Person(); tom.DoSomething(); } } Ta'kidlash joizki, sukut bo'yicha qism usullarga bir qator cheklovlar qo'llaniladi: Ularda kirish modifikatorlari bo'lishi mumkin emas Ular void turiga kiradi Ular out parametrlariga ega bo'la olmaydi Ularda virtual, override, sealed, new yoki extern modifikatorlari bo'lishi mumkin emas Agar ular ushbu cheklovlarning birortasiga javob bermasa, ularni amalga oshirish kerak. Masalan, quyidagi misolda qism usullar p_ublic modifikatorini qo'llaydi: // sinf va uning usullarining birinchi qo'llanilishi public partial class Person { public partial void Read(); public void DoSomething() { Read(); } } // sinf va uning usullarining ikkinchi qo'llanilishi public partial class Person { public partial void Read() { Console.WriteLine("Men kitob o'qiyapman"); } } Adabiyotlar 1. https://metanit.com/sharp/tutorial/3.21.php - qism sinflarga doir misollar 2. https://metanit.com/sharp/tutorial/3.3.php - Konstantalar, maydonlar va strukturalarni o'qish ga doir misollar. Download 27.76 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling