Back to questions
Selectel
Junior — Middle
74
Можно ли в языке Swift реализовать наследование от нескольких классов одновременно?
Companies where asked
Sense IT Group
Itexus
Answer from AI
sobes.tech AI
В Swift нельзя наследоваться от нескольких классов одновременно, то есть множественное наследование классов не поддерживается. Класс может иметь только одного родителя. Вместо этого Swift использует протоколы (protocols) для достижения похожей функциональности — класс может реализовывать несколько протоколов, что позволяет добавлять различные поведения и свойства без множественного наследования.
Пример реализации протоколов:
protocol Drivable {
func drive()
}
protocol Flyable {
func fly()
}
class Vehicle: Drivable {
func drive() {
print("Едем")
}
}
class FlyingCar: Vehicle, Flyable {
func fly() {
print("Летим")
}
}
let car = FlyingCar()
car.drive() // Едем
car.fly() // Летим
Таким образом, Swift поощряет композицию через протоколы вместо множественного наследования классов.