24-mavzu. Polimorfizm


class Program { static void


Download 126.11 Kb.
bet4/7
Sana18.10.2023
Hajmi126.11 Kb.
#1707595
1   2   3   4   5   6   7
Bog'liq
30-maruza

class Program

  • {

  • static void Main(string[] args)

  • {

  • TestData dataClass = new TestData();

  • int add2 = dataClass.Add(45, 34, 67);

  • int add1 = dataClass.Add(23, 34);

  • }

  • }


    Dinamik / ish vaqti polimorfizmi
    Dinamik/ish vaqti polimorfizmi kech ulanish sifatida ham tanilgan. Bu erda usul nomi va usul imzosi (parametrlar soni va parametr turi bir xil bo'lishi kerak va boshqa amalga oshirilishi mumkin). Usulni bekor qilish dinamik polimorfizmga misoldir.
    Usulni bekor qilish meros yordamida amalga oshirilishi mumkin. Usulni bekor qilish bilan asosiy sinf va olingan sinf bir xil usul nomiga va bir xil narsaga ega bo'lishi mumkin. Kompilyator funksionallikni bekor qilish uchun mavjud usulni bilmaydi, shuning uchun kompilyator kompilyatsiya vaqtida xatolikka yo'l qo'ymaydi. Kompilyator ish vaqtida qaysi usulni chaqirishni hal qiladi va agar hech qanday usul topilmasa, u xatoga yo'l qo'yadi.

    1. public class Drawing

    2. {

    3. public virtual double Area()

    4. {

    5. return 0;

    6. }

    7. }



    8. public class Circle : Drawing

    9. {

    10. public double Radius { getset; }

    11. public Circle()

    12. {

    13. Radius = 5;

    14. }

    15. public override double Area()

    16. {

    17. return (3.14) * Math.Pow(Radius, 2);

    18. }

    19. }



    20. public class Square : Drawing

    21. {

    22. public double Length { getset; }

    23. public Square()

    24. {

    25. Length = 6;

    26. }

    27. public override double Area()

    28. {

    29. return Math.Pow(Length, 2);

    30. }

    31. }




    32. Download 126.11 Kb.

      Do'stlaringiz bilan baham:
  • 1   2   3   4   5   6   7




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