• Xulosa
  • Adabiyotlar
  • Ma’lumotlarga murojaat turlari va vorislik




    Download 25,27 Kb.
    bet7/7
    Sana01.12.2023
    Hajmi25,27 Kb.
    #109367
    1   2   3   4   5   6   7
    Bog'liq
    Mavzu Vorislik sinflarini yaratish va foydalanish Bajardi M. S-fayllar.org

    Ma’lumotlarga murojaat turlari va vorislik


    Murojaat turlari


    public


    protected


    private

    Asos sinf


    yes

    yes

    yes

    Voris sinf

    yes

    yes

    no

    Boshqa sinf (yoki main funksiya)

    yes

    no

    no

    private murojaat turi orqali voris sinfni yaratishga misol.
    class base {
    int i, j;
    public:
    void set(int a, int b) { i=a; j=b; }
    void show() { cout << i << " " << j << "\n";}
    };
    // asos sinfning public a’zolari, voris sinfda private huquqiga o’tadi.
    class derived : private base {….}
    int main()
    {
    derived ob(3);
    ob.set(1, 2); // error, set() metodiga ruxsat yo’q
    ob.show(); // error, show() metodiga ruxsat yo’q
    return 0;
    }
    Vorislik va sinfning himoyalangan (protected) a’zolari\
    Protected kalit so’zi vorislik mexanizmini tashkil qilish uchun ishlatiladi va qulaylik vujudga keltiradi.
    • Asos sinfning private a’zolariga dasturning boshqa bir qismi (misol uchun boshqa sinf yoki main() funksiyasi) yoki voris sinf tomonidan to’g’ridan to’g’ri murojaat mavjud emas
    Lekin asos sinfning protected a’zolari, boshqa sinf yoki main() funksiya uchun yopiq bo’ganiga qaramasdan, voris sinf tomonidan murojaat mavjuddir.
    Asos sinfning protected a’zolari
    class base {
    protected:
    int i, j; // asos sinf uchun private, lekin voris sinf uchun ochiq
    public:
    void set(int a, int b) { i=a; j=b; }
    void show() { cout << i << " " << j << "\n"; }
    };
    class derived : public base {
    int k;
    public:
    void setk() { k=i*j; } // i va j voris sinf uchun ochiq
    void showk() { cout << k << "\n"; }
    };
    int main()
    {
    derived ob;
    ob.set(2, 3); // OK, voris sinf uchun ochiq, chunki public
    ob.show(); // OK, voris sinf uchun ochiq, chunki public
    ob.setk(); ob.showk(); // voris sinf metodi, murojaat turi public, demak ochiq
    return 0;
    }
    Asos sinf konstruktoriga qiymat jo’natish
    Quyidagi forma orqali asos sinf konstruktoriga parametr orqali qiymat jo’natishimiz mumkin:
    voris-sinf-konstruktori(arg-lar) : asos-sinf1(arg-lar),
    asos-sinf2(arg-lar),
    // ...
    asos-sinfN(arg-lar)
    {
    // voris sinf konstruktor tanasi
    }
    Asos sinf konstruktoriga qiymat jo’natish
    class base {
    protected: int i;
    public:
    base(int x) { i=x; }
    };
    class derived: public base {
    int j;
    public:
    derived(int x, int y): base(y) // Asos sinf konstruktorini chaqirish
    { j=x; }
    void show() { cout << i << " " << j << "\n"; }
    };
    derived ob(3, 4);
    ob.show(); // natija 4 3

    Xulosa

    Xulosa qilib aytganda men ushbu kurs ishini tuzish davomida juda ko’plab yangi bilimlar olishga erishdim.


    Mustaqil O’zbekistonimiz kelajagi biz yoshlarning qo’lida. Demak har birimiz ushbu ma’suliyatni his qilib, chuqur bilim olishimiz zarur. Shundagina vatanimiz jahon hamjamiyatida yuqori o’ringa chiqadi. Vatanimiz gullab yashnashi uchun har birimiz o’z hissamizni qo’shishimiz kerak.

    Adabiyotlar

    1. Троелсен Эндрю, Джепикс Филипп | Язык программирования C# 7 и платформы .NET и .NET Core. Вильямс. 2018.


    2. Troelsen, P. Japikse. Pro C# 8 with .NET Core. Foundational Principles and Practices in Programming. Apress, 2020


    3. Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер. C# 4.0 и платформа .NET 4 для профессионалов. – Изд. Вильямс, 2011, 1440 с.


    4. Christian Nagel. PROFESSIONAL C# 7 and .NET Core 2.0. Wrox, 2018.


    5. Madraximov Sh.F., Ikramov A.M. C++ tilida programmalash bo’yicha masalalar to’plami. O’quv qo’llanma // Toshkent, O’zbekiston Milliy Universiteti, “Universitet” nashriyoti, 2017. 160 bet


    6. https://metanit.com/sharp/tutorial/3.7.php





    http://fayllar.org
    Download 25,27 Kb.
    1   2   3   4   5   6   7




    Download 25,27 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Ma’lumotlarga murojaat turlari va vorislik

    Download 25,27 Kb.