Cuprins:
Definiție - Ce înseamnă supraîncărcare?
Supraîncărcarea se referă la capacitatea de a utiliza un singur identificator pentru a defini mai multe metode ale unei clase care diferă în parametrii de intrare și ieșire. Metodele supraîncărcate sunt utilizate în general atunci când execută conceptual aceeași sarcină, dar cu un set ușor diferit de parametri.
Supraîncărcarea este un concept utilizat pentru a evita codul redundant în care același nume de metodă este folosit de mai multe ori, dar cu un set diferit de parametri. Metoda efectivă care este apelată în timpul rulării este rezolvată la timp de compilare, evitând astfel erorile de rulare. Supraîncărcarea oferă claritate a codului, elimină complexitatea și îmbunătățește performanța în timp.
Techopedia explică supraîncărcarea
Supraîncărcarea este utilizată în limbaje de programare care impun verificarea tipului în apelurile funcționale în timpul compilării. Când o metodă este supraîncărcată, metoda aleasă va fi selectată la timp de compilare. Nu este același lucru cu funcțiile virtuale în care metoda este definită la runtime.
Spre deosebire de Java, C # permite operatorilor să fie supraîncărcați, pe lângă metode, prin definirea membrilor statici folosind cuvântul cheie operator. Această caracteristică ajută la extinderea și la personalizarea semanticii operatorilor relevante pentru tipurile definite de utilizator, astfel încât acestea să poată fi utilizate pentru a manipula instanțele obiectului cu operatorii.
Rezoluția de suprasarcină în C # este metoda prin care funcția corectă este selectată pe baza argumentelor transmise și pe lista membrilor funcției de candidat care au același nume. Diferitele contexte în care se utilizează rezoluția de suprasarcină includ:
- Invocarea unei metode într-o expresie
- Constructor în timpul creării obiectelor
- Accesorizator indexator printr-un acces de element și expresie de operator predefinită sau definită de utilizator
Se recomandă evitarea supraîncărcării peste limitele de moștenire, deoarece poate provoca confuzie. Supraîncărcarea poate deveni greoaie pentru dezvoltatori dacă este utilizată în exces și cu tipuri definite de utilizator ca parametri, deoarece poate reduce lizibilitatea și mentenanța codului.
