3-Mavzu: Operatorlarni qayta yuklash. Reja Operatorni qayta yuklanish usuli
Download 28.71 Kb.
|
3-Mavzu Operatorlarni qayta yuklash
2. Qayta yuklanish usuli
Usullar bilan bir qatorda biz operatorlarni ham qayta yuklay olamiz. Masalan, bizda quyidagi Counter sinfi bor deylik: Ba'zida bir xil usulni yaratish kerak bo'ladi, lekin boshqa parametrlar to'plami bilan. Va mavjud parametrlarga qarab, usulning ma'lum bir versiyasini qo'llang. Bu xususiyat, shuningdek, usulni qayta yuklash (method overloading) deb ham ataladi. Va C #da biz bir xil nomdagi, lekin har xil imzo bilan bir nechta usullarni yaratishimiz mumkin. Imzo nima? Imzo quyidagi jihatlardan iborat: Usul nomi Parametrlar soni Parametr turlari Parametrlar tartibi Parametrlarni modifikator(o'zgartiruvchi)lar Ammo parametrlarning nomlari imzoga kiritilmagan. Masalan, quyidagi usulni oling: public int Sum(int x, int y) { return x + y; } Bu usul uchun imzo shunday bo'ladi: Sum(int,int) Va usulni qayta yuklash - bu usullar har xil imzolarga ega, bunda faqat usul nomi bir xil bo'ladi. Ya'ni, usullar farq qilishi kerak: Parametrlar soni Parametr turi Parametrlar tartibi Parametrlarni o'zgartiruvchilar Masalan, bizda quyidagi sinf bor deylik: class Calculator { public void Add(int a, int b) { int result = a + b; Console.WriteLine($"Result is {result}"); } public void Add(int a, int b, int c) { int result = a + b + c; Console.WriteLine($"Result is {result}"); } public int Add(int a, int b, int c, int d) { int result = a + b + c + d; Console.WriteLine($"Result is {result}"); return result; } public void Add(double a, double b) { double result = a + b; Console.WriteLine($"Result is {result}"); } } Add usulining to'rt xil versiyasi mavjud, ya'ni bu usulning to'rtta qayta yuklanishi aniqlangan. Usulning dastlabki uchta versiyasi parametrlar sonida farq qiladi. To'rtinchi versiya parametrlar soni bo'yicha birinchisiga to'g'ri keladi, lekin ularning turidan farq qiladi. Bunday holda, kamida bitta parametr turiga qarab farq qilishi etarli. Shuning uchun, bu ham Add usulining qayta yuklanishi. Ya'ni, biz bu usullarning imzolarini quyidagicha ifodalashimiz mumkin: Add(int, int) Add(int, int, int) Add(int, int, int, int) Add(double, double) Qayta yuklangan versiyalarni aniqlagandan so'ng, ularni dasturda ishlatishimiz mumkin: class Program { static void Main(string[] args) { Calculator calc = new Calculator(); calc.Add(1, 2); // 3 calc.Add(1, 2, 3); // 6 calc.Add(1, 2, 3, 4); // 10 calc.Add(1.4, 2.5); // 3.9 Console.ReadKey(); } } Konsol chiqishi: Download 28.71 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling