30-bob: Operatorlarni yuklash
Operatorlarni yuklash polimorfizmni amalga oshirish metodlaridan biri bo‘lib, unda biz o‘zimizning birorta klassimizda birorta metodni amalga oshirishimiz mumkin.
Masalan, bizda 2 ta klass mavjud bo‘lsin.
class A:
def go(self):
print('Go, A!')
class B(A):
def go(self, name):
print('Go, {} !'.format(name))
Bu misolda B klass A klassning voris klassi sifatida go metodini qayta tavsiflamoqda. Shu bois-dan u A klassining ayni shu metodiga unchalik ham o‘xshamaydi.
Lekin Pythonda shunday metodlar ham borki, ular, odatda, to‘g‘ridan-to‘g‘ri chaqirilmasdan, tarkibiy funksiya yoki operatorlar yordamida chaqiriladi.
Masalan, __init__ metodi klass konstruktorini yuklaydi. Konstruktor esa klass ekzamplyarini yaratadi
def __init__(self, name):
self.name = name
Endi quyida mana shunday kuchli metodlar hamda ularning vazifalari haqida so‘z boradi.
Do'stlaringiz bilan baham: |