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 мерос мегирад, зеро он такрор нашудааст.