Sobes.tech
Junior — Middle

Чӣ гуна рафтор мекунад функсияи ивазшуда дар синфи фарзӣ, агар он бо функсияи синфи асосӣ дар Python мувофиқат кунад?

sobes.tech AI

Ҷавоб аз AI

Агар Python-да фарзандаклассда ата-энекласс менен бирдей аталыштагы функция аныкталса, ошол функцияны фарзандакласс объектисинде чакырганда, кайра аныкталган версия колдонулат. Бул методду кайра аныктоо (method overriding) деп аталат. Мындан ары, фарзандакласс ата-энеклассын жүрүм-турумун өзгөртүп же кеңейте алат.

Мисал:

class Base:
    def greet(self):
        print("Амансызбы ата-энекласс")

class Child(Base):
    def greet(self):
        print("Амансызбы фарзандакласс")

obj = Child()
obj.greet()  # Чыгуу: Амансызбы фарзандакласс

Эгер ата-энекласс методун чакыргыңыз келсе, super() колдонсоңуз болот:

class Child(Base):
    def greet(self):
        super().greet()
        print("Кошумча фарзандакласс")