Subclass Creation
Sizda bir `class` bo'lganidan so'ng, siz ushbu `class`dan subtur yaratishingiz mumkin.
Subturlarni Yaratish
Sizda bir class
bo'lganidan so'ng, siz ushbu class
dan subtur yaratishingiz mumkin. Subtur asosiy class
ning atributlari va usullarini meros qilib oladi.
Shuningdek, siz ota-ona atributlari va usullarini o'zgartirishingiz mumkin. Bu degani, agar farzandda ota-ona usuli yoki atributi bilan bir xil nomga ega bo'lsa, Python farzandning usulini ishlatadi.
Oldingi Ball
class
imizni olib, uni subtur sifatida ishlatamiz:
Endi Ball
dan subtur yaratamiz va ball.py
bilan bir xil papkada yangi modul yaratamiz: bowling_ball.py
.
Ball
dan subtur yaratish uchun siz quyidagi kodni yozasiz: class BowlingBall(ball.Ball)
. Bu Ball
ni subtur qiladi va yangi BowlingBall
class
ini yaratadi.
Ushbu class
da __init__()
metodi ta'riflanmagan. Bu, siz ota-onaning __init__()
metodini meros qilib olasiz va uni ishlatasiz. Shuningdek, siz ota-ona class
da yo'q yangi roll()
usulini qo'shdingiz.
Endi terminalda ushbu kodni ishga tushirishga harakat qilaylik:
Bu quyidagi xatoni chiqaradi:
Ah! BowlingBall
misolini to'g'ri yaratmadik. Yuqorida aytilganidek, BowlingBall
Ball
ning __init__
metodidan foydalanmoqda, shuning uchun biz Ball
ning __init__
metodi kutayotgan argumentlarni taqdim etishimiz kerak.
Kodni to'g'irlab, u to'g'ri ishlashi uchun quyidagicha o'zgartiramiz:
Endi uni ishga tushirganingizda, quyidagi natijani olishingiz kerak:
Kodga qaytib, bounce()
usulini chaqiradigan qo'shimchani qo'shishga harakat qiling va u siz uchun ham ishlayotganini tekshirib ko'ring.