Sobes.tech
Junior — Middle

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:

  1. 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.

  2. Parametriskais polimorfisms (Parametric Polymorphism) — realizēts ar ģeneriskiem tipiem, kad funkcijas vai klases darbojas ar jebkuru datu tipu.

  3. 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.

  4. 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
}