• Standart konstruktorni roli
  • Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr




    Download 6,33 Mb.
    Pdf ko'rish
    bet160/194
    Sana20.02.2024
    Hajmi6,33 Mb.
    #159185
    1   ...   156   157   158   159   160   161   162   163   ...   194
     
    Konstuktorlar tushunchasi 
    Dasturchi ob’ektning maydonlarini qiymatini o‘zlashtirishni o‘ylaydi u bilan ishlashdan 
    oldin hozirgi vaqtda Car tilini petName va currSpeed maydonlarini o‘zlashtirishni talab etadi. 
    Xozirgi misol uchun bu unchali muammoli emas chunki berilganlarni aniq elementlarini atiga 2 ta 
    xolos tushunarliki hech kimga bunday sinfni barcha 20 ta elementi uchun 20 ta operatorlarni 
    initsializatsiya qilish yoqmaydi. 
    Baxtimizga, C# Carda konstruktorlarni mexanizmi qo‘llab quvvatlanadi, ular ob’ektni xolatini 
    o‘rnatishga ruxsat berishadi. Konstruktor bu - sinfni alohida usuli bo‘lib u ob’ektni yaratishda 
    oshkor bo‘lmagan xolda chaqiriladi va u new kalit so‘zini ishlatish bilan amalga oshiriladi. Biroq 
    “normal” usuldan farqi shundaki unda oshkor konstruktor xech qachon qaytariladigan qiymatga ega 
    bo‘lmaydi va doim sinf ismiga identetik nomlanadi. 
    Standart konstruktorni roli
    Har bir S# sinfi standart konstruktor bilan ta’minlanadi. U zarur bo‘lgan vaqtda qayta 
    aniqlanishi mumkin ta’rif bo‘yicha standart konstruktor xech qachon argumentlarni qabul qilmaydi. 
    Yangi ob’ekt joylashtirilgandan so‘ng xotirada standart konstruktor bo‘yicha berilganlar 
    maydonlarini kafolatlaydi. Ular mos standart qiymatlarda bo‘ladi.
    Agar siz bunday standart o‘zlashtirish bilan qanoatlansangiz o‘zingizga kerakli molikdagi standart 
    konstruktorni yozishingiz mumkin. O‘zgartiish maqsadida S# Car sinfi quyida ko‘rsatilgan: 
    class
    Car
    {
    // The 'state' of the Car. 
    public
    string
    petName;
    public
    int
    currSpeed;
    // A custom default constructor. 
    public
    Car()
    {
    petName = 
    "Chuck"
    ;
    currSpeed = 10;
    }
    ...
    }
    Berilgan xolatda biz Car ob’ektlarni o‘z xayotini Chuck ismidan boshlashga majburlaymiz
    va soatiga 10 ml tezlik bilan. Bunda Car ob’ektlarini standart qiymatlar bilan keyingi ko‘rinishda 
    yaratish mumkin: 
    static
    void
    Main(
    string
    [] args)
    {
    Console.WriteLine(
    "***** Fun with Class Types *****\n"
    );


    Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
    289 
    // Invoking the default constructor. 
    Car chuck = 
    new
    Car();
    // Prints "Chuck is going 10 MPH." 
    chuck.PrintState();
    ...


    Download 6,33 Mb.
    1   ...   156   157   158   159   160   161   162   163   ...   194




    Download 6,33 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr

    Download 6,33 Mb.
    Pdf ko'rish