Junior — Middle
Маслиҳат дода метавонед, ки намунаи нишон додани намудҳои гуногуни полиморфизм дар барномасозии объектӣ?
sobes.tech AI
Ҷавоб аз AI
Дар объектно-ориентированном программировании, полиморфизм позволяет объектам разных классов обрабатывать вызовы методов с одинаковым именем по-разному.
1. Полиморфизм времени компиляции (статический полиморфизм):
- Перегрузка методов: несколько методов с одним именем, но разными параметрами.
class Calculator {
func add(a: Int, b: Int) -> Int {
return a + b
}
func add(a: Double, b: Double) -> Double {
return a + b
}
}
2. Полиморфизм времени выполнения (динамический полиморфизм):
- Переопределение методов в подклассах.
class Animal {
func sound() {
print("Баъзе садо")
}
}
class Dog: Animal {
override func sound() {
print("Бух")
}
}
class Cat: Animal {
override func sound() {
print("Мяу")
}
}
let animals: [Animal] = [Dog(), Cat()]
for animal in animals {
animal.sound() // Чавон "Бух" ва "Мяу" мебарорад
}
Ҳамин тариқ, полиморфизм имкон медиҳад, ки барои кор бо намудҳои гуногуни объектҳо интерфейси ягона истифода шавад.