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 ба тарзи сохтор тавассути протоколҳо ташвиқ мекунад, на мероси бисёрсинфӣ.