8.1. No?iune de polimorfism
8.1. No?iune de polimorfism
No?iunea de polimorfism este exprimat? prin fraza „O interfa??, metode multiple”. D?m c?teva exemple de polimorfism obi?nuit:
- opera?ii aritmetice. Scriem i+k, unde variabilele i ?i k sunt, de exemplu, de tipul int, ?i tot a?a scriem x+y, unde variabilele x ?i y sunt, de exemplu, de tipul double;
- apelul func?iilor. Scriem max(i, j, k) pentru parametrii de tipul, de exemplu, unsigned short, ?i la fel scriem max(a, b, c) pentru parametrii de tipul, de exemplu, float.
Suntem interesa?i de no?iunea de polimorfism ca de una dintre cele mai importante caracteristici ale POO.
Polimorfismul ?n POO este proprietatea de a defini una ?i aceea?i interfa??, at?t ?n clas? de baz?, c?t ?i ?n cele derivate, la o ac?iune oarecare, care totu?i se execut? ?n mod specific pentru fiecare clas? aparte. |
Polimorfismul ?n C++ are dou? aspecte: polimorfismul ?n timpul compil?rii (engl. static polymorphism) ?i polimorfismul ?n timpul rul?rii (engl. run-time polymorphism). Polimorfismul ?n timpul compil?rii se ob?ine prin supra?nc?rcarea func?iilor ?i operatorilor ?mpreun? sau f?r? proprietate de mo?tenire. Polimorfismul ?n timpul rul?rii (numit, mai rar, polimorfism dinamic) este realizat prin mo?tenire ?i func?ii virtuale. Deoarece despre supra?nc?rcarea func?iilor ?i operatorilor am discutat ?n deajuns ?n capitolele precedente, trecem la cercetarea func?iilor virtuale.
_________________________
Autorul: dr.conf. S. Pereteatcu
Оставить комментарий