• ESLAB QOLING
  • WWW-TEXNOLOGIYA VA HTML TILI




    Download 27,94 Mb.
    Pdf ko'rish
    bet109/153
    Sana19.05.2024
    Hajmi27,94 Mb.
    #244031
    1   ...   105   106   107   108   109   110   111   112   ...   153
    Bog'liq
    10-sinf yangi

    WWW-TEXNOLOGIYA VA HTML TILI
    init funksiyasi
    Keltriligan misollar sinf va obyektning sodda shakli 
    bo‘lib, bu shakl dasturlashda deyarli samarasiz 
    hisoblanadi. Sinf tushunchasidan samarali 
    foydalanish uchun avvaldan aniqlangan _init_ 
    funksiyasi bilan tanishib olish zarur.
    Barcha sinflarda obyekt yaratilganda ishga 
    tushuvchi _init_() nomli funksiya mavjud. 
    Obyekt yaratilayotganda uning xususiyatlariga 
    yoki bajarilishi kerak bo‘lgan boshqa amallarga 
    qiymatlarni qo‘shish uchun _init_() funksiyasidan 
    foydalaniladi. _init_ funksiyasidan foydalanish 
    uchun sinf tanasida “def” kalit so‘zi yordamida 
    yangi funksiya yaratiladi.
    ESLAB QOLING
    Har safar yangi obyekt yaratish 
    uchun sinf ishlatilganda, _init_() 
    funksiyasi avtomatik ravishda 
    chaqiriladi.
    Sintaksisi:
    class sinf nomi:
    def __init__(self, parametrlar ro‘yxati):
    self. parametr1 = qiymat1
    self. parametr2 = qiymat2
    sinf nomi – sinf uchun nom;
    self sinfning o‘ziga va sinfga tegishli 
    o‘zgaruvchilarga murojaat qilish uchun ishlatiladi;
    parametrlar ro‘yhati – sinf parametrlari ro‘yxati;
    qiymat1, qiymat – parametrlar ro‘yxatidagi 
    parametrlar qabul qilishi kerak bo‘lgan qiymatlar.
     
    Misol.
    “Person” nomli sinf va unga tegishli “p1” nomli obyekt yaratilsin, _init_ funsiyasi 
    orqali uning xususiyatlariga qiymat berilsin va chop etilsin.
     
    Obyekt xususiyatini o‘zgartirish va o‘chirish
    Quyidagi misolda dastur bajarilishi davomida obyektning birorta xususiyatiga berilgan 
    boshlang‘ich qiymatni o‘zgartirish imkoniyati ko‘rsatilgan:
    “self” parametrini boshqa nom 
    bilan ham nomlash mumkin, 
    asosiysi, bu parametr parametrlar 
    ro‘yhatida birinchi bo‘lib turishi 
    zarur.
    ESLAB QOLING
    class Person:
    “Person” nomli sinf yaratildi.
    def __init__(self, ism, yil):
    Sinfga qiymat berish funksiyasi ishga tushdi.
    self.name = ism
    “name” xususiyatiga “ism” parametri qiymat sifatida 
    o‘zlashtirildi.
    self.year = yil
    “year” xususiyatiga “yil” parametri qiymat sifatida 
    o‘zlashtirildi.
    p1 = Person("Xurshid", 1990)
    “Person” nomli sinfning “p1” obyekti yaratildi va 
    “Xurshid” va “1990” parametrlari berildi.
    print(p1.name)
    “p1” obyektning “name” xususiyati chop etildi.
    print(p1.year)
    “p1” obyektining “year” xususiyati chop etildi.
    Xurshid
    1990
    Kod ishga tushirilgach, natija sifatida sinfga tegishli 
    obyektning xususiyatlari chop etiladi.


    153
    153
    153
    153
    Dasturning bajarilishi davomida obyektni yoki uning birorta xususiyatini o‘chirish imkoniyati 
    mavjud bo‘lib, bu vazifa “Del” funksiyasi yordamida amalga oshiriladi.
    Sintaksisi:
    del obyekt nomi.xususiyat nomi
    del 
    obyekt nomi
    obyekt nomi – obyekt nomi;
    xususiyat nomi – o‘chirib yuboriladigan 
    xususiyat nomi.
    Misol.
    “p1” obyekti va uning “age” xususiyatini o‘chirib yuboruvchi dastur kodi yozilsin.
    class Person:
    “Person” sinfi yaratildi.
    age=16
    “age” xususiyatiga 16 qiymat berildi.
    p1 = Person()
    “Person” sinfining “p1” obyekti yaratildi.
    p1.age=26
    “p1” obyektning “age” xususiyatiga yangi qiymat berildi.
    print(p1.age)
    “p1” obyektning “age” xususiyati chop qilindi.
    26
    Kod ishga tushirilgach, natija sifatida “age” 
    xususiyatining yangi qiymati chop qilinadi.
    class Person:
    “Person” sinfi yaratildi.
    age=16
    “age” xususiyatiga 16 qiymat berildi.
    p1 = Person()
    “Person” sinfining “p1” obyekti yaratildi.
    del p1.age
    “p1” obyektining “age” xususiyati o‘chirildi.
    del p1
    “p1” obyekti o‘chirildi.
    print(p1.age)
    “p1” obyektining “age” xususiyati chop etildi.
    Traceback (most recent call last):
    File 
    "C:/Users/ZAFAR/AppData/Local/
    Programs/Python/Python38/
    class.py", line 4, in
    del p1.age
    AttributeError: age
    Kod ishga tushirilgach, xatolik haqida e’lon 
    beradi. Chunki “p1” obyekti va uning “age” 
    xususiyati o‘chirilganidan so‘ng, ularni chop 
    etishning imkoniyati mavjud emas.

    Download 27,94 Mb.
    1   ...   105   106   107   108   109   110   111   112   ...   153




    Download 27,94 Mb.
    Pdf ko'rish