• Bazaviy sinf azolariga murojaatni boshqarish.
  • Toshkent axborot texnologiyalari universiteti urganch filiali kompyuter injiniringi fakult




    Download 0.54 Mb.
    Pdf ko'rish
    bet1/5
    Sana01.04.2024
    Hajmi0.54 Mb.
    #184220
      1   2   3   4   5
    Bog'liq
    13-14-15 (1)
    Avazjon, ХФХ-1 мажмуа 2021 (1), Plant genetic engineering and genetically modified crop breeding history and current status, MUHAMMAD ALI , Shovqin va titrashning Ularning inson organizmiga zararli ta´sir-fayllar.org, 5-mavzu. Marketing tizimi va sohasi-fayllar.org, 2 Elektr tokining asosiy xarakteristikalari. Om qonuni. Tokning -fayllar.org, 13816, 5-ma`ruza elektronika leksiya (1), referat Sharipova S, Kiyimni konstruksiyalash va modellashtirishning asosiy metodlari, 10-tajriba ishi, shartnoma Nilufar, 8-9-amaliyot Abror Inoyatov OS, 5-ma\'ruza Saralash algoritmlari 2(uzb)


    MUHAMMAD AL-XORAZMIY NOMIDAGI 
    TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI 
    URGANCH FILIALI 
    KOMPYUTER INJINIRINGI FAKULTЕTI 
    962-21 guruh talabasi Yusupova Matlubaning Dasturlash
    fanidan yozgan 
    Tоpshirdi:
    _______________________________ 
    Qabul qildi: 
    _______________________________ 
    Urganch – 2022 


    Bazaviy sinf a'zolariga murojaatni boshqarish. 
    Sinf – bu maxsus turlar bo‗lib, o‗zida maydon, usullar va xossalarni mujassamlashtiradi. 
    Sinf murakkab struktura bo‗lib, ma‘lumotlar ta‘riflaridan tashqari, protsedura va funksiyalar 
    ta‘riflarini o‗z ichiga oladi. Sodda sinf ta‘rifiga misol: TPerson = class private fname: string[15]; 
    faddress: string[35]; public procedure Show; end; Sinf ma‘lumotlari maydonlar, protsedura va 
    funksiya usullarI deb ataladi. Keltirilgan misolda TPerson – sinf nomi, fname va faddress – 
    maydonlar nomlari, show – usul nomi. Maydon – bu sinfga birlashtirilgan ma‘lumotlardir. 
    Sinfga qarashli maydonlar oddiy yozuv maydoni kabi bo‗lib, ularning farqi har xil turda 
    bo‗lishidir. Masalan, Type TchildClass=Class Fore: Integer; Ftwo: String; Fthree: Tobject; End; 
    Maydonlarga murojaat qilish sinf xossalari va usullari yordamida amalga oshiriladi. Maydonga 
    murojaat qilish uchun oldin sinf nomi yozilib, keyin ajratuvchi nuqta qo‗yilib maydon nomi 
    yoziladi. Masalan: Var MyObject: TchildClass; 
    Begin MyObject.Fone:=16; MyObject.Ftwo:=‗qator qiymati‘; End; Maydon nomi unga 
    mos xossa nomining birinchi harfi ―F‖ bo‗lishi bilan farqlanadi. Delphi da qabul qilingan 
    kelishuv bo‗yicha maydonlar nomlari f (field — maydon so‗zidan) harfidan boshlanishi lozim. 
    5.2. Usullar Sinfga birlashtirilgan protsedura va funksiyalarga usullar deyiladi. Masalan: Type 
    TchildClass=Class 
    Fore: 
    Integer; 
    Ftwo: 
    String; 
    Fthree: 
    Tobject; 
    Function 
    FirstFunc(x:Real):Real; Procedure SecondProc; End; Sinf usullari (sinf ta‘rifiga kiritilgan 
    protsedura va funksiyalar) sinf ob‘yektlari ustida amal bajaradi. Usul bajarilishi uchun ob‘yekt 
    nomi va nuqtadan so‗ng usul nomi ko‗rsatilishi lozim. Masalan: professor. Show; Sinf usuli 
    ta‘riflanganda sinf nomi va usul nomi ko‗rsatiladi. Masalan: // TPerson sinfi Show usuli 
    procedure TPerson.Show; begin Write ( ‗Nom:‘ + fname + #13+ ‗Adres:‘ + faddress ); end; 
    Usul tanasida ob‘yekt maydonlariga murojaat qilinganda ob‘yekt nomi korsatilmaydi. 
    Usulga murojaat qilish dasturda uning nomini ko‗rsatish bilan bajariladi. Masalan:
    Var
    MyObject: TchildClass;
    y: Real; Begin
    . . . . . . . . . . . . . . .
    MyObject. SecondProc; 
    y:=MyObject.FirstFunc(3.14);
    End;
    Usullar chaqirilganda chaqirgan ob‘yektga ilova uzatiladi. Bu ilovaga usul ichida self 
    so‗zi orqali murojaat qilish mumkin. procedure TPerson.Tproc(Fore:Integer); begin 
    self.Fore:=Fore; end; 5.3. Ob’yekt Ob‘yekt – bu sinfning real nusxasi bo‗lib, ma‘lumotlar va 
    funksiyalardan tashkil topadi. U dasturning var bo‗limida e‘lon qilinadi. Masalan: var student: 
    TPerson; professor: TPerson; Ob‘yekt – bu dinamik strukturadir. O‗zgaruvchi-ob‘yekt 
    ma‘lumotlarni emas, ob‘yekt ma‘lumotlariga ilovani o‗z ichiga oladi. Shuning uchun dasturchi 
    bu ma‘lumotlarga xotiradan joy ajratishni ko‗zda tutishi lozim. Joy ajratish sinf maxsus usuli – 
    konstruktor yordamida amalga oshiriladi. Bu usul odatda Create (yaratish) nomiga ega bo‗ladi. 
    Sinf ta‘rifida konstruktor uchun procedure so‗zi o‗rniga constructor so‗zi ishlatiladi. Quyida 
    tarkibida konstruktor qatnashgan TPerson sinfi ta‘rifi keltirilgan: 
    TPerson = class private 


     fname: string [ 15 ];
    faddress: string[35];
    constructor Create; // konstruktor
    public 
    procedure show; // usul
    end; 
    Xotiradan joy ajratish konstruktor sinfga qo‗llash natijasini qiymat sifatida berish orqali 
    amalga oshiriladi. Misol uchun professor := TPerson.Create; instruksiyasi bajarilishi natijasida 
    professor ob‘yektiga xotiradan joy ajratiladi. Xotiradan joy ajratishdan tashqari konstruktor, 
    odatda ob‘yekt maydonlariga boshlang‗ich qiymatlar berish ya‘ni ob‘yekt initsializatsiyasi 
    vazifasini ham bajaradi. Quyida TPerson ob‘yekti uchun konstruktor misoli keltirilgan: 
    constructor TPerson.Create;
    begin fname := ‗‗;
    faddress := ‗‗;
    end; 
    Ob‘yekt maydoniga murojaat qilish uchun ob‘yekt nomi va nuqtadan so‗ng maydon 
    nomi ko‗rsatiladi. Masalan: professor.fname Ob‘yektga ajratilgan xotira qismini bo‗shatish 
    uchun maxsus usul destruktor free ishlatiladi. Masalan: professor.free;. Inkapsulyatsiya va 
    ob’yekt xossalari Inkapsulyatsiya deyilganda ob‘yekt maydonlariga to‗g‗ridan to‗g‗ri emas, 
    faqat sinf usullari orqali murojaat qilishga aytiladi. Ob‘yekt maydonlariga murojaat ob‘yekt 
    xossalari orqali amalga oshiriladi. Ob‘yekt xossasiga murojaat qilish uchun ikki usuldan 
    foydalaniladi. O‗qish uchun ishlatiladigan funksiya nomi Get bo’lib, 
    unga mos xossa nomi qo‗shilib yoziladi. Yozish uchun ishlatiladigan usul bitta parametrli Set 
    nomi qism dastur bo‗lib, uning nomiga ham mos xossa nomi qo‗shilib yoziladi. O‗qish va 
    yozish usullari va uning parametri ham bir xil xossaga ega bo‗lishi lozim. Xossani e‘lon qilish 
    uchun Property, Read va Write so‗zlari ishlatiladi. Read va Write usul nomlari bo‗lib, ular mos 
    ravishda o‗qish va yozish uchun mo‗ljallangan. Quyida ikkita Name va Address xossalarini o‗z 
    ichiga oluvchi TPerson sinfi ta‘rifi keltirilgan:
    type 
    TName = string[15];
    TAddress = string[35];
    TPerson = class private
    FName: TName; 
    FAddress: TAddress;
    Constructor Create(Name:Tname);
    Procedure Show;
    Function GetName: TName;
    Function GetAddress: TAddress;
    Procedure SetAddress(NewAddress:TAddress); public
    Property Name: Tname read GetName;
    Property Address: TAddress 
    read GetAddress
    write SetAddress;
    end; 


    Dasturda student ob‘yektining, Address xossasiga qiymat berishini quyidagicha yozish mumkin: 
    student.Address := ‗Toshkent, Yunusobod 21, kv.3‘; Tashqi tomondan dasturda xossalardan 
    foydalanish ob‘yekt maydonlaridan foydalanishdan farq qilmaydi. Lekin xossalar va ob‘yekt 
    xossalari orasida prinsipial farq bor: xossaga qiymat berish yoki xossa qiymatini o‗qishda 
    avtomatik ravishda biror vazifa bajaruvchi protsedura chaqiriladi. Dasturda xossa usullariga 
    qo‗shimcha vazifalar yuklash mumkin. Masalan usullar yordamida xossaga berilayotgan 
    qiymatlar to‗g‗riligini tekshirish, yordamchi protseduralarni chaqirish. Ob‘yekt maydonlarini 
    xossa sifatida ta‘riflash maydonlarga murojaatni cheklashga imkon beradi: masalan, faqat 
    o‗qishga ruxsat berish mumkin. Buning uchun xossa ta‘rifida faqat o‗qish usulini ko‗rsatish 
    kerak. Yuqorida keltirilgan TPerson sinfi ta‘rifida Name xossasini faqat o‗qish mumkin, 
    Address — xossasi esa o‗qish va yozish uchun mo‗ljallangan. Yozuvdan himoyalangan xossa 
    qiymatini ob‘yekt initsializatsiyasida o‗rnatish mumkin. Quyida Tperson sinfi usullari 
    keltirilgan. Bu usullar TPerson sinfi ob‘yektini yaratish va xossalariga murojaatni ta‘minlaydi.
    Constructor TPerson.Create(Name:TName); 
    begin 
    FName:=Name; 
    end; 
    Function TPerson.GetName; 
    begin 
    Result:=FName;
    end; 
    function TPerson.GetAddress;
    begin 
    Result:=FAddress; end;
    Procedure TPerson.SetAddress(NewAddress:TAddress);
    begin 
    if FAddress =’ ‘
    then FAddress := NewAddress;
    end; 
    Sinf ob‘yektini yaratish va xossa qiymatini o‗rnatishga misol: 
    student := TPerson.Create(‗Tolipov‘); 
    student.Address := ‗‗Toshkent, Yunusobod 21, kv.3‘; 



    Download 0.54 Mb.
      1   2   3   4   5




    Download 0.54 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Toshkent axborot texnologiyalari universiteti urganch filiali kompyuter injiniringi fakult

    Download 0.54 Mb.
    Pdf ko'rish