Vai vari uzskaitīt dažādus polimorfisma veidus objektorientētajā programmēšanā?
sobes.tech AI
Atbilde no AI
Objektorientētajā programmēšanā (OOP) ir atšķirami vairāki galvenie polimorfisma tipi:
-
Subtipa polimorfisms (Subtype Polymorphism) — visbiežāk sastopamais tips, realizēts ar mantošanu un metožu pārrakstīšanu. Tas ļauj izmantot apakšklases objektus vietā pamata klases objektu.
-
Parametriskais polimorfisms (Parametric Polymorphism) — realizēts ar ģeneriskiem tipiem, kad funkcijas vai klases darbojas ar jebkuru datu tipu.
-
Ad-hoc polimorfisms (Ad-hoc Polymorphism) — ietver funkciju un operatoru pārlādēšanu, kad viena funkcija ir ar vairākām realizācijām ar dažādiem parametru tipiem.
-
Tīrā izpildes laika polimorfisms (Runtime Polymorphism) — sasniedzams ar virtuālām metodēm un dinamisku sasaisti, kad metode tiek izsaukta izpildes laikā.
Swift (iOS) piemērs subtipa polimorfismam:
class Animal {
func sound() {
print("Kāds skaņa")
}
}
class Dog: Animal {
override func sound() {
print("Rej")
}
}
class Cat: Animal {
override func sound() {
print("Mau")
}
}
let animals: [Animal] = [Dog(), Cat()]
for animal in animals {
animal.sound() // Metodes izsaukums ir atkarīgs no objekta reālā tipa
}