Avvalgi misolimizda voris sinf hosil qilganimizda pass kalit so’zi bilan cheklanib qo’ya qoldik. Shu sababli voris sinf barcha funksiyalarni avtomatik tarzda o’zlashtirgan edi. Endi voris sinfga __init__() funksiyasi bilan parametrlarini joylashtiramiz. Bunda voris sinf ona sinfdagi __init__() funksiyasidan emas o’zidagidan foydalanadi.
class Odam: def __init__(self, ism, familiya): self.ism = ism self.familiya = familiya def tanish(self): print(self.ism, self.familiya) # Endi voris sinf ya'ni bola sinfni hosil qilamiz class Talaba (Odam): def __init__(self, ism, familiya): self.ism = ism self.familiya = familiya x = Talaba ("Asadbek", "Suvonov") x.tanish()
Asadbek Suvonov
Ammo ona sinfdagi __init__() funksiyasidan foydalanmoqchi bo’lsak, voris sinfdagi __init__() funksiyasi ichiga ona sinfning shu funksiyasini yozamiz:
class Odam:
# Endi voris sinf ya'ni bola sinfni hosil qilamiz class Talaba (Odam): def __init__(self, ism, familiya): Odam.__init__(self, ism, familiya) x = Talaba ("Asadbek", "Suvonov") x.tanish()
Asadbek Suvonov
super() funksiyasi
Sinflar bilan ishlash uchun maxsus super() funksiyasi ham mumkin. Bu funksiya ona sinfdagi barcha funksiya va parametrlarni voris sinfga o’zlashtiradi: