• Polimorfizm
  • Algebra”
  • Mavzu; Operatsion tizimlar haqida umumiy maʼlumot




    Download 0,91 Mb.
    bet46/49
    Sana20.12.2023
    Hajmi0,91 Mb.
    #125486
    1   ...   41   42   43   44   45   46   47   48   49
    Bog'liq
    Mavzu; Operatsion tizimlar haqida umumiy ma lumot

    myclass alpha=100
    myclass beta=10
    50
    Yopiq va ochiq kirishni tashkil etish. Yopiq va ochiq foydalanishni to'g'ri tashkil etish obyektga yo'naltirilgan dasturlashda eng muhim tushuncha hisoblanadi. Buning uchun qat'iy qoidalar mavjud bo'lmasada, quyida keltirilgan ba'zi umumiy tamoyillar mavjud.

    • Faqat sinfda ishlatiladigan a'zolar yopiq bo'lishi kerak.

    • Ma’lum bir qiymatlar oralig'iga to'g'ri keladigan ma'lumotlar yopiq bo'lishi kerak va ochiq metodlardan foydalangan holda kirishda sonlarni ko'rsatish oralig'ida tekshirish amalga oshirilishi kerak.

    • Agar a'zoning o'zgarishi sinfdan tashqaridagi a’zolarning o’zgarishiga olib kelsa, ya'ni, ob'ektning boshqa jihatlariga ta'sir qilsa, a'zo yopiq bo'lishi kerak.

    • Obyektga zarar yetkazishi mumkin bo'lgan a'zolar yopiq bo'lishi kerak. Ushbu a'zolarga ochiq metodlar yordamida kirish kerak, shunda ulardan noto'g'ri foydalanish oldi olinadi.

    • Yopiq ma'lumot qiymatlarini olish va o'rnatish metodlari ochiq bo'lishi kerak.

    • O'zgaruvchilar yopiq bo'lishi uchun hech qanday sabab bo'lmasa, ularni ochiq qilishga ruxsat etiladi.

    • Navbatdagi darsimiz obyektga yo’naltirilgan dasturlashning yana bir asosiy tushunchalaridan biri polimorfizm haqida. Polimorfizm odatda inkapsulyatsiya va vorislikdan keyin OOP ning uchinchi ustuni deyiladi. Polimorfizm yunoncha so’z bo’lib, “ko’p shaklli” degan ma’noni anglatadi va uning ikki xil ko’rinishi mavjud:

    • Statik polimorfizm. Ushbu tur kompilyatsiya vaqti polimorfizmi (Compile Time Polymorphism) deb ham yuritiladi. Chunki u qaysi metod yoki funksiyani chaqirishni kompilyatsiya vaqtida aniqlashtirib oladi va mos keladigan metod yoki funksiya topilmasa xatolik qaytariladi.

    • Quyida “Algebra” sinfida bir xil nomga ega ikkita “Add” metodi mavjud va bu metodlar faqat parametrlari bilan farqlangan.

    • 1 – “Add” metodining vazifasi 2 ta haqiqiy sonni qabul qilib, ularning yig’indisini qaytarish.

    • 2 – “Add” metodining vazifasi 4 ta haqiqiy sonni qabul qilib, ularning yig’indisini qaytarish.

    • namespace UzbekDevs

    • {

    • class Algebra

    • {

    • public double Add(double a, double b)

    • {

    • return a + b;

    • }

    • public double Add(double a, double b, double c, double d)

    • {

    • return a + b + c + d;

    • }

    • }

    • }Keling endi dastur qanday ishlashini yaxshiroq tushunish uchun, “Algebra” sinfining “Add” metodidan ikki xil ko’rinishidan ham foydalanib ko’ramiz:

    • namespace UzbekDevs

    • {

    • class Algebra

    • {

    • public double Add(double a, double b)

    • {

    • return a + b;

    • }

    • public double Add(double a, double b, double c, double d)

    • {

    • return a + b + c + d;

    • }

    • }

    • class Program

    • {

    • static void Main(string[] args)

    • {

    • Algebra algebra = new Algebra();

    • Console.WriteLine(algebra.Add(4, 23)); //chiquvchi qiymat: 27

    • Console.WriteLine(algebra.Add(4, 3, 12, 20)); //chiquvchi qiymat: 39

    • Console.ReadKey();

    • }

    • }

    • }

    • Biz sinf metodiga algebra.Add(4, 23) shaklida murojaat qildik va kompilyastiya jarayoni boshlangandan keyin dastur ikkita parametrli metodga ya’ni 1 – “Add” metodiga murojaat qildi. Biz statik polimorfizmda bir metodni sinfni o’zida qayta aniqladik va qaysi metod ishlashi kerak ekanligi kompilyatsiya vaqtida aniq bo’ldi.


    • Download 0,91 Mb.
    1   ...   41   42   43   44   45   46   47   48   49




    Download 0,91 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Mavzu; Operatsion tizimlar haqida umumiy maʼlumot

    Download 0,91 Mb.