Python 3
Machine Learning

PENTRU ELEVII DE LICEU

LECȚIA 19
PAG. 1 / 4
OOP - Polimorfismul
Acasă >>> Lecții online

Introducere

În limbajul natural, cuvântul „polimorfism” vine din greaca veche și înseamnă „cu multe forme”. În programare orientată pe obiecte, ideea este aceeași: obiecte de tipuri diferite pot răspunde la aceeași comandă într-un mod specific lor. Cu alte cuvinte, același apel poate avea efecte diferite, în funcție de tipul obiectului care îl primește.

Acest concept, aparent abstract, este de fapt o parte esențială din designul flexibil al aplicațiilor moderne. Polimorfismul permite programatorului să scrie cod generic, elegant și ușor de extins, fără să repete logică pentru fiecare tip de obiect în parte.



Polimorfismul este capacitatea unei metode sau funcții de a se comporta diferit în funcție de contextul obiectului pe care îl primește. În Python, acest comportament se realizează în special prin intermediul moștenirii și al suprascrierii metodelor, dar și printr-o filosofie specifică limbajului, denumită duck typing.

Dacă un obiect „se comportă” ca altul – chiar dacă nu moștenește explicit de la același tip – poate fi tratat ca atare. Această flexibilitate este una dintre cele mai mari calități ale Python-ului.

Polimorfism prin moștenire și suprascriere

Să începem cu cel mai clasic exemplu de polimorfism: moștenirea și redefinirea comportamentului în clasele derivate. Avem o clasă de bază care definește o metodă, iar clasele care o moștenesc pot redefini acea metodă cu comportament propriu.

Analizați cu atenție codul următor:
Editor - exemplu_oop.py
       
Rezultatul în consolă done
Observăm că apelul animal.vorbeste() se comportă diferit în funcție de tipul efectiv al obiectului, chiar dacă toate apelează aceeași metodă:



Acesta este polimorfismul clasic.
Avansează la pagina următoare.
 home   list  LECȚII   perm_identity   arrow_upward