Przejdź do treści głównej
INF.03Programowanie

Polimorfizm (Wielopostaciowość)

Mechanizm OOP pozwalający różnym klasom na implementację tej samej metody w odmienny sposób, zachowując wspólny interfejs.

Czym jest polimorfizm?

Polimorfizm umożliwia traktowanie obiektów różnych klas potomnych w ujednolicony sposób za pośrednictwem wspólnego interfejsu lub klasy bazowej, przy czym każdy obiekt zachowuje swoje specyficzne zachowanie.

JAVASCRIPT
class Figura {
    obliczPole() { return 0; }
}

class Kolo extends Figura {
    constructor(r) { super(); this.r = r; }
    obliczPole() { return Math.PI * this.r ** 2; }
}

class Prostokat extends Figura {
    constructor(a, b) { super(); this.a = a; this.b = b; }
    obliczPole() { return this.a * this.b; }
}

// Polimorficzne wywołanie w pętli:
const figury = [new Kolo(5), new Prostokat(4, 6)];
figury.forEach(f => console.log('Pole figury:', f.obliczPole()));

Chcesz sprawdzić to pojęcie w praktyce?

Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Polimorfizm (Wielopostaciowość) lub rozpocznij trening.