Sobes.tech
Junior — Middle

Раванди чӣ гуна аст, агар дар Python, агар ба таври возеҳ дигар нагуфта шавад, дар синфҳои меросӣ чӣ хосият дорад?

sobes.tech AI

Ҷавоб аз AI

Дар Python, агар як синф аз дигар синф мерос гирад ва дигар чизе нишон дода нашуда бошад, пас:

  • Синфи меросгир ҳамаи методҳо ва хусусиятҳои синфи падарро мегирад.
  • Мутобиқсозии методҳои падар барои тағир додани рафтор мумкин аст.
  • Методи ҳал кардани тартиб (MRO) барои ҷустуҷӯи методҳо дар ҳолати меросгирии бисёрҷониба истифода мешавад.

Ба таври пешфарз, агар методи муайян нашр карда нашуда бошад, иҷрои онро аз синфи падар даъват мекунад. Ин имкон медиҳад, ки код такрор нашаванд ва функсионалият бе такрорсозӣ васеъ карда шавад.

Масалан:

class Animal:
    def speak(self):
        print("Садои ҳайвон")

class Dog(Animal):
    pass

my_dog = Dog()
my_dog.speak()  # Натиҷа: Садои ҳайвон

Ин ҷо, синфи Dog метод speak-ро аз Animal мерос мегирад, зеро он такрор нашудааст.