Junior — Middle
Обяснете принципа на наследяване в обектно-ориентираното програмиране и как работи веригата на наследяване между класовете.
sobes.tech AI
Отговор от AI
Наследяването в обектно-ориентираното програмиране позволява създаването на нов клас въз основа на съществуващ, като наследява неговите свойства и методи. Това помага за повторното използване на кода и създаването на йерархии от класове.
Верижната наследствена верига е последователност от класове, където всеки клас наследява от предишния. Ако метод или свойство не бъде намерено в текущия клас, търсенето продължава в родителския клас и нагоре по веригата.
Пример на Swift:
class Animal {
func makeSound() {
print("Някакъв звук")
}
}
class Dog: Animal {
override func makeSound() {
print("Лай")
}
}
let dog = Dog()
dog.makeSound() // Ще изведе "Лай"
Тук класът Dog наследява от Animal и преписва метода makeSound. Ако методът не беше преписан, щеше да се извика методът от Animal.