KLASSNING XUSUSIYATLARI VA METODLARI




Download 135,99 Kb.
Pdf ko'rish
bet13/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 XUSUSIYATLARI VA METODLARI
Avvalgi darslarimizda biror klassdan yaratilgan har bir obyektning xususiyatlarini 
klass ichidagidef __init__() medoti yordamida berayotgan edik. Bu metod qanday 
ishlaydi? Biz har gal klassga murojat qilganimizda klass aynan shu 
__init__metodini ishga tushiradi va biz bergan xususiyatlar bilan yangi obyekt 
yaratadi. 
Pythonda xususiyatlarni nafaqat obyektga balki to'g'ridan-to'g'ri klassga ham 
yuklash imkoniyati mavjud. Bunda klassning xususiyatiga berilgan qiymat barcha 
obyektlar uchun umumiy bo'ladi. Bu xususiyatni bir obyekt orqali o'zgartirilganda 
shu klassga oid barcha obyektlarda ham uning qiymati o'zgaradi. 
Klassga oid xususiyatlar def __init__() metodidan avval e'lon qilinadi. 
Keling tushunarli bo'lishi uchun quyidagi misolni ko'ramiz: 
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 
Kodni tahlil qilamiz: 

1-qatroda Avto klassini e'lo qildik 

3-qatorda Avto klassiga oid bo'lgan xususiyat num_avto yaratdik va unga 0 
qiymatini berdik 

Keyingi qatorlarda __init__ metodi yordamida klassdan yaratiladigan 
obyektlarning xususiyatlarini e'lon qildik va har gal bu metdoga murojat 
qilingandan num_avto ning qiymatini 1 ga oshradigan qilib qo'ydik (13-
qator). 
Yuqoridagi usul bilan endi biz dastur davomida Avto klassidan jami nechta
obyektlar yaratilganini kuzatib borishimiz mumkin bo'ladi. Bunda num_avto
o'zgaruvchisiga istalgan obyekt orqali yoki klass nomi orqali murojat qilish
mumkin: 
avto1 = Avto("GM","Malibu","Qora",2020,40000) 
avto2 = Avto("GM","Lacetti","Oq",2020,20000) 
print(avto1.num_avto) 
Natija: 2 
avto3 = Avto("Toyota",'Carolla',"Silver",2018, 45000) 
print(Avto.num_avto) 
Natija: 3 

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




Download 135,99 Kb.
Pdf ko'rish