Junior — Middle
Оё имкон дорад дар забони Swift меросгирии бисёрҷониба амалӣ карда шавад?
sobes.tech AI
Ҷавоб аз AI
В забон Swift, фарогирии бисёрсохтаи синфҳо дастгирӣ намешавад, яъне, синф метавонад танҳо аз як синфи болоӣ мерос гирад.
Аммо, Swift протоколҳоро дастгирӣ мекунад, ки имкон медиҳанд, ки функсионалият, монанди фарогирии бисёрсохта, тавассути иҷрои чанд протокол амалӣ карда шавад.
Масалан:
protocol Flyable {
func fly()
}
protocol Swimmable {
func swim()
}
class Animal {
func eat() {
print("Мехӯрад")
}
}
class Duck: Animal, Flyable, Swimmable {
func fly() {
print("Парвоз мекунад")
}
func swim() {
print("Меҳр мекунад")
}
}
let donald = Duck()
donald.eat() // Мехӯрад
donald.fly() // Парвоз мекунад
donald.swim() // Меҳр мекунад
Ба ҳамин тариқ, барои васеъ кардани функсионалият, истифодаи фарогирии як синф ва иҷрои чанд протокол ба кор меравад.