Junior — Middle
Swift tilida ko'p meroslikni amalga oshirish mumkinmi?
sobes.tech AI
AIdan javob
Swift tilida ko‘p meroslik (multiple inheritance) qo‘llab-quvvatlanmaydi, ya’ni, sinf faqat bitta superklassdan meros olishi mumkin.
Biroq, Swift protokollarni qo‘llab-quvvatlaydi, ular yordamida bir nechta protokolni amalga oshirish orqali ko‘p meroslikga o‘xshash funksionallikni amalga oshirish mumkin.
Misol:
protocol Flyable {
func fly()
}
protocol Swimmable {
func swim()
}
class Animal {
func eat() {
print("Oziqlanmoqda")
}
}
class Duck: Animal, Flyable, Swimmable {
func fly() {
print("Uchmoqda")
}
func swim() {
print("Suzmoqda")
}
}
let donald = Duck()
donald.eat() // Oziqlanmoqda
donald.fly() // Uchmoqda
donald.swim() // Suzmoqda
Shu tarzda, funksionallikni kengaytirish uchun, bir sinf meros oladi va bir nechta protokolni amalga oshiradi.