Metoda de supraîncărcare
Supraîncărcarea metodelor, cunoscută și sub denumirea de supraîncărcare a funcțiilor sau polimorfism de compilare a timpului, este un concept de a avea două sau mai multe metode cu același nume, dar cu o altă semnătură diferită în același domeniu. Există multe limbi de programare care acceptă această caracteristică: Ada, C ++, C #, D și Java.
Exemplu de suprasolicitare a metodelor în C #
1234567891011121314 | clasa de suprasarcină float Poligon (rază int, float pi) float circleArea = pi * rază * rază; int Poligon (lungime int, int lățime) int rectangleArea = = partea laterală *; |
După cum se arată în exemplul de mai sus, metoda "Polygon" este supraîncărcată de 3 ori cu semnătură diferită a metodei, adică tipul sau numărul de parametri sunt diferiți.
Înlocuirea metodei
Suprascrierea metodei, cunoscută și sub denumirea de funcționalitate sau polimorfism de execuție a timpului, este o caracteristică OOP care permite unei clase de copil să furnizeze propria implementare metodei definite în clasa părinte. Implementarea în clasa copil suprascrie definiția metodei din clasa de bază, cu condiția ca metoda din clasa copil să aibă același nume, semnătura și tipul retur.
Exemplu de suprascriere a metodei în C #
1 2 3 4 5 6 7 8 9 10 | class Source1 public void draw () Console.Writeline ("Sunt în clasa Source1"); Clasa Source2 extinde Source1 public void draw () Console.Writeline ("Sunt în clasa Source2"); |
Aici, metoda draw în clasa Source2 înlocuiește metoda de tragere definită în clasa Source1.
Diferența dintre suprasolicitarea metodelor și excluderea metodei