Назад к вопросам
Junior — Middle
74
Можно ли реализовать наследование нескольких классов одновременно в языке Swift?
Ответ от нейросети
sobes.tech AI
В языке Swift не поддерживается множественное наследование классов, то есть класс может наследоваться только от одного суперкласса.
Однако Swift поддерживает протоколы (protocols), которые позволяют реализовать функциональность, похожую на множественное наследование, через реализацию нескольких протоколов.
Пример:
protocol Flyable {
func fly()
}
protocol Swimmable {
func swim()
}
class Animal {
func eat() {
print("Eating")
}
}
class Duck: Animal, Flyable, Swimmable {
func fly() {
print("Flying")
}
func swim() {
print("Swimming")
}
}
let donald = Duck()
donald.eat() // Eating
donald.fly() // Flying
donald.swim() // Swimming
Таким образом, для расширения функциональности используется наследование одного класса и реализация нескольких протоколов.