Isoqjanov Ilyos | Python
🧩 Pythonda Multiple Inheritance — “Ko‘p meros olish” haqida?
OOPda (Obyektga yo‘naltirilgan dasturlashda) multiple inheritance degani —
bitta klass bir vaqtning o‘zida bir nechta ota-klasslardan (parent class) meros olishi mumkin degani.
👨🏫 Oddiy misol:
class A:
def feature_a(self):
print("A sinfidagi funksiya")
class B:
def feature_b(self):
print("B sinfidagi funksiya")
class C(A, B): # 👉 A va B dan meros olayapti
def feature_c(self):
print("C sinfidagi funksiya")
obj = C()
obj.feature_a()
obj.feature_b()
📤 Natija:
A sinfidagi funksiya
B sinfidagi funksiya
🧠 Fikr:
Multiple inheritance — bir obyektga bir nechta “rol” yoki “xususiyat” berish imkonini beradi.
Masalan, 🦆 o‘rdak uchadi ham, suzadi ham — demak u Flyable va Swimmable sinflaridan meros oladi.
⚠️ Ehtiyot bo‘ling!!!
Multiple inheritanceda “diamond problem” paydo bo‘lishi mumkin:
ya’ni bir xil nomdagi metod bir nechta ota klassda mavjud bo‘lsa — Python MRO (Method Resolution Order) qoidasi bo‘yicha birinchi topilganini ishlatadi.
Tartibni tekshirish uchun:
print(C.mro())
✅ Xulosa:
• Kodni qayta ishlatish osonlashadi
• MRO metod tartibini hal qiladi
• super() yordamida ota klasslar metodlarini chaqirish mumkin
• Juda qulay, lekin ehtiyotkorlik bilan foydalaning 😉
4 · 907 ·