Sobes.tech
Junior

Роли мерос дар барномасозии объектӣ ва чаро он барои синфҳо муҳим аст?

sobes.tech AI

Ҷавоб аз AI

Мирас, якс (подкласа/ҳавола) автоматӣ ба дигар як класс (ота/суперкласс) хусусиятҳо ва методҳоро мегирад, ки ин ба сохтори ҳирасҳояи классҳо мусоидат мекунад.

Маҳзият барои классҳо:

  • Истифодаи такрорӣ: Аз такроркорӣ пешгирӣ мекунад ва имкон медиҳад, ки функсионалияти классҳои падарро дар классҳои фарзанд истифода бурда шавад.
  • Пенҳоншавӣ: Имкон медиҳад, ки классҳои нав бо илова кардани функсионалиятҳои нав бар асоси мавҷударо сохта шаванд.
  • Ташкилот: Классҳоро дар ҳирасҳояи мантиқӣ ташкил мекунад, ки фаҳмиши сохтори барнома осонтар мешавад.
  • Полифромизм: Заминаи асосӣ барои полиморфизмро фароҳам меорад, ки дар он объектҳои класи гуногун метавонанд тавассути истинод ба класс падар ба таври якхела коркард шаванд.

Масалан (Python):

class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        pass # Методи асосӣ, ки бояд навишт шавад

class Dog(Animal):
    def speak(self):
        return "Woof!"

class Cat(Animal):
    def speak(self):
        return "Meow!"

# Истифода:
dog = Dog("Buddy")
cat = Cat("Whiskers")

print(f"{dog.name} мегӯяд: {dog.speak()}")
print(f"{cat.name} мегӯяд: {cat.speak()}")

Дар ин мисол, Dog ва Cat аз Animal мерос мегиранд. Онҳо аз хосияти name дар Animal истифода мебаранд ва методи speak-ро барои иҷрои рафторҳои махсус нав месозанд.