Junior — Middle
Објасните принцип наслеђивања у објектно-оријентисаном програмирању и како ради ланац наслеђивања између класа.
sobes.tech АИ
Одговор од АИ
Наследование в объектно-ориентированном программировании позволяет создавать новый класс на основе существующего, перенимая его свойства и методы. Это помогает повторно использовать код и создавать иерархии классов.
Цепочка наследования — это последовательность классов, где каждый класс наследует от предыдущего. Если метод или свойство не найдено в текущем классе, поиск продолжается в родительском классе, и так далее вверх по цепочке.
Пример на Swift:
class Animal {
func makeSound() {
print("Some sound")
}
}
class Dog: Animal {
override func makeSound() {
print("Bark")
}
}
let dog = Dog()
dog.makeSound() // Выведет "Bark"
Здесь класс Dog наследует от Animal и переопределяет метод makeSound. Если бы метод не был переопределён, вызвался бы метод из Animal.