Junior — Middle
Swift тилинде бир эле учурда бир нече классынан мурас алуу мүмкүнбү?
sobes.tech AI
AIден жооп
Swiftте бир убакта бир нече классдан мурас алуу мүмкүн эмес, башкача айтканда, көп класстын мурасы колдоого алынбайт. Бир класс тек гана бир атага ээ боло алат. Ал ордуна, Swift окшош функционалдуулукту жетишүү үчүн протоколдорду колдонуп жатат: бир класс бир нече протоколду ишке ашыра алат, бул ар кандай жүрүм-турумдар жана касиеттерди көп мурас албай эле кошууга мүмкүндүк берет.
Протоколдорду ишке ашыруу мисалы:
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 протоколдор аркылуу композицияны колдойт, көп класстын мурасынан эмес.