Kas sa oskad loetleda erinevaid polümorfismi tüüpe objektorienteeritud programmeerimises?
sobes.tech AI
Vastus AI-lt
Objektorienteeritud programmeerimises (OOP) eristatakse mitmeid peamisi polümorfismi tüüpe:
-
Alamtüübi polümorfism (Subtype Polymorphism) — kõige levinum tüüp, realiseeritud pärimise ja meetodite ülekirjutamise kaudu. See võimaldab kasutada alamtüüpide objekte asendatult põhiklassi objektidega.
-
Parameetriline polümorfism (Parametric Polymorphism) — realiseeritud üldtüüpide (generics) kaudu, kus funktsioonid või klassid töötavad mis tahes andmetüüpidega.
-
Ad-hoc polümorfism (Ad-hoc Polymorphism) — hõlmab funktsioonide ja operaatorite ülekoormamist, kus üks funktsioon võib omada mitut erinevat rakendust erinevate parameetritüüpide jaoks.
-
Aja jooksul polümorfism (Runtime Polymorphism) — saavutatakse virtuaalsete meetodite ja dünaamilise sidumise kaudu, kus meetodi väljakutse määratakse jooksvalt.
Näide alamtüübi polümorfismist Swiftis (iOS):
class Animal {
func sound() {
print("Mingi heli")
}
}
class Dog: Animal {
override func sound() {
print("Haugumine")
}
}
class Cat: Animal {
override func sound() {
print("Miau")
}
}
let animals: [Animal] = [Dog(), Cat()]
for animal in animals {
animal.sound() // Meetodi väljakutse sõltub objekti tegelikust tüübist
}