Junior — Middle
95
Можно ли реализовать наследование нескольких классов одновременно в языке Swift?
Answer from AI
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
Таким образом, для расширения функциональности используется наследование одного класса и реализация нескольких протоколов.