• KLASSGA OID METODLAR
  • KLASSLARNI MODULGA AJRATISH
  • KLASSNING XUSUSIYATLARINI INKAPSULYATSIYA QILISH




    Download 135,99 Kb.
    Pdf ko'rish
    bet14/15
    Sana20.02.2024
    Hajmi135,99 Kb.
    #159518
    1   ...   7   8   9   10   11   12   13   14   15
    Bog'liq
    M.I Pythonda obyektga yo’naltirilgan dasturlash 6

    KLASSNING XUSUSIYATLARINI INKAPSULYATSIYA QILISH
    Klassga oid xususiyatlar ham huddi yuoqridagi kabi nomidan avval ikki pastki 
    chiziq qo'shish bilan inkapsulyatsiya qilinadi: 
    class Avto: 
    """Avtomobil klassi""" 
    __num_avto = 0 # klassga oid xususiyat 
    def __init__(self,make,model,rang,yil,narh): 
    """Avtomobilning xususiyatlari""" 
    self.make = make 
    self.model = model 
    self.rang = rang 


    self.yil = yil 
    self.narh = narh 
    Avto.__num_avto += 1 
    KLASSGA OID METODLAR
    Klasslarning o'ziga xos metodlari ham bo'lishi mumkin. Misol uchun yuqoridagi 
    num_avto xususiyatini ko'rish uchun alohida metod yozishimiz mumkin. Klassga 
    oid metodlar @classmethod dekoratori bilan boshlanadi va obyektga oid 
    metodlardan farqli ravishda self emas cls (class) argumentini qabul qiladi. 
    class Avto: 
    """Avtomobil klassi""" 
    __num_avto = 0 
    def __init__(self,make,model,rang,yil,narh,km=0): 
    """Avtomobilning xususiyatlari""" 
    self.make = make 
    self.model = model 
    self.rang = rang 
    self.yil = yil 
    self.narh = narh 
    self.__km = km 
    self.__id = uuid4() 
    Avto.__num_avto += 1 
    @classmethod 
    def get_num_avto(cls): 
    return cls.__num_avto 
    Klass metodlarga klassning nomi orqali murojat qilinadi: 
    avto1 = Avto("GM","Malibu","Qora",2020,40000) 
    avto2 = Avto("GM","Lacetti","Oq",2020,20000) 
    avto3 = Avto("Toyota",'Carolla',"Silver",2018, 45000) 
    print(Avto.get_num_avto()) 
    Natija: 3 
    @classmethod bu maxsus dekorator. Dekoratorlar bu o'z ichiga funksiya oluvchi 
    funksiyalar. Dekoratorlar haqida keyingi darslarimizning birida batafsil 
    to'xtalamiz. 
    KLASSLARNI MODULGA AJRATISH
    Vaqt o'tishi bilan dasturimizda klasslar ko'payib borishi tabiiy. Bizning asosiy
    dasturimiz uzun va chigal bo'lmasligi uchun klasslarni ham huddi funksiyalar kabi
    alohida modullarga ajratish maqsadga muvofiq bo'ladi. Dastur davomida kerak
    bo'ladigan klasslarga esa modulni chaqirish (import) orqali murojat qilishimiz
    mumkin. Bunda, bir-biriga bog'liq klasslarni bitta faylga joylashimiz mumkin.
    Misol uchun, biz Talaba, Professor, Foydalanuvchi va Shaxs degan klasslarni bitta
    odamlar.py moduliga, Avto, Bus, Train degan klasslarni esa boshqa transport.py


    moduliga joyladik. Kelajakda biz bu klasslarga import orqali murjat qilishimiz
    mumkin. 

    Download 135,99 Kb.
    1   ...   7   8   9   10   11   12   13   14   15




    Download 135,99 Kb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    KLASSNING XUSUSIYATLARINI INKAPSULYATSIYA QILISH

    Download 135,99 Kb.
    Pdf ko'rish