Python 3
Machine Learning

PENTRU ELEVII DE LICEU

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

Redefinirea metodelor în ierarhii de clase

Redefinirea (override) este o tehnică fundamentală pentru implementarea polimorfismului. În momentul în care o subclasă redefinește o metodă a clasei de bază (Instrument), acel comportament devine cel activ pentru instanțele subclasei. Vezi exemplul următor:
Editor - exemplu_oop.py
       
Rezultatul în consolă done
Acest tip de cod este extrem de valoros în aplicații mari, unde poți trata obiectele printr-o interfață comună (Instrument), dar fiecare își definește comportamentul particular.

OBSERVAȚII

Polimorfismul îți permite să scrii cod mult mai curat, modular și reutilizabil. De asemenea, poți adăuga noi clase și comportamente fără să schimbi codul deja existent.

Mai mult decât atât, poți procesa colecții eterogene de obiecte printr-o interfață comună, fără să știi exact din ce tip face parte fiecare obiect.

Aceasta este una dintre ideile-cheie în designul orientat pe obiecte: separarea între ce face un obiect și cum face acel lucru.

Polimorfismul în Python este extrem de flexibil, dar tocmai această flexibilitate îl poate face uneori periculos. Dacă presupui că un obiect are o metodă afiseaza(), dar primești un obiect care nu o conține, programul va arunca o eroare în execuție. Spre deosebire de alte limbaje cu tipare stricte, Python îți oferă libertate, dar te face responsabil de verificarea logică a comportamentului obiectelor.
Lecția s-a încheiat acum.
 home   list  LECȚII   perm_identity   arrow_upward