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() // Տպում է "Շունչ" և "Մյաու"
}
Այսպիսով, պոլիմորֆիզմը թույլ է տալիս օգտագործել միավոր ինտերֆեյս տարբեր տիպերի օբյեկտների հետ աշխատելու համար։