Video: Diferența Dintre Suprascriere și Supraîncărcare
2024 Autor: Mildred Bawerman | [email protected]. Modificat ultima dată: 2023-12-16 08:41
Suprascriere vs supraîncărcare
Metoda Overriding și Method Overloading sunt două concepte / tehnici / caracteristici găsite în unele limbaje de programare. Ambele concepte permit programatorului să ofere implementări diferite pentru metode cu același nume. Anularea metodei permite programatorului să ofere o implementare alternativă într-o subclasă la o metodă deja definită în superclasa sa. Supraîncărcarea metodelor permite programatorului să furnizeze implementări diferite mai multor metode cu același nume (în cadrul aceleiași clase).
Ce este suprascrierea?
Așa cum s-a menționat mai sus, o clasă poate extinde o clasă super sau o clasă părinte, în limbaje de programare orientate obiect. O clasă copil poate avea propriile sale metode sau, opțional, poate avea propriile implementări la metodele deja definite în clasa sa părinte (sau una dintre clasele sale părinte). Deci, atunci când se întâmplă aceasta din urmă, se numește metoda suprascriere. Cu alte cuvinte, dacă clasa copil oferă o implementare unei metode cu același tip de semnătură și returnare ca o metodă deja definită într-una din clasele sale părinte, se spune că metoda respectivă este înlocuită (înlocuită) de implementarea clasei copil. Deci, dacă există o metodă suprascrisă într-o clasă, sistemul de runtime va trebui să decidă ce metodă de implementare este utilizată. Această problemă este rezolvată examinând exact tipul de obiect care este folosit pentru a o invoca. Dacă un obiect al clasei părinte este utilizat pentru a invoca metoda suprascrisă, atunci se utilizează implementarea în clasa părinte. În mod similar, dacă este un obiect al clasei copil care este utilizat, atunci se folosește implementarea clasei copil. Limbajele moderne de programare precum Java, Eifell, C ++ și Python permit suprascrierea metodelor.
Ce este supraîncărcarea?
Supraîncărcarea metodelor este o caracteristică oferită de unele limbaje de programare pentru a crea mai multe metode cu același nume, dar cu tipuri de intrare și ieșire diferite. În limbaje de programare moderne precum Java, C #, C ++ și VB. NET, această caracteristică este disponibilă. Puteți supraîncărca o metodă prin crearea unei alte metode cu același nume, dar cu o altă semnătură de metodă sau un alt tip de returnare (sau ambele). De exemplu, dacă aveți metoda1 (tip1 t1) și metoda1 (tip2 t2) în aceeași clasă, atunci acestea sunt supraîncărcate. Apoi, sistemul va trebui să decidă care va fi executat atunci când este apelat. Această diferențiere se face examinând tipul parametrilor care au fost transferați metodei. Dacă argumentul este de tip 1, atunci se numește prima implementare, în timp ce dacă este de tip 2, atunci se numește a doua implementare.
Care este diferența dintre suprascriere și suprasarcină?
Deși, suprascrierea metodei și supraîncărcarea metodelor sunt utilizate pentru a furniza o metodă cu implementări diferite, există diferențe cheie între aceste două concepte / tehnici. Mai întâi de toate, subiectele de metoda suprascriere rămân întotdeauna în clase diferite, în timp ce subiectele de supraîncărcare a metodei rămân în aceeași clasă. Asta înseamnă că suprascrierea este posibilă numai în limbajele de programare orientate pe obiecte care permit moștenirea, în timp ce supraîncărcarea poate fi disponibilă și într-un limbaj care nu este orientat obiect. Cu alte cuvinte, suprascrieți o metodă în clasa super, dar suprasolicitați o metodă în propria clasă.
O altă diferență este că metodele suprascrise au același nume de metodă, semnătura metodei și tipul returnat, dar metodele supraîncărcate trebuie să difere fie în semnătură, fie în tipul returnat (numele ar trebui să fie același). Pentru a face diferența între două metode suprascrise, tipul exact de obiect utilizat pentru a invoca metoda id utilizată, în timp ce pentru a diferenția între două metode supraîncărcate se utilizează tipurile de parametri. O altă diferență esențială este că supraîncărcarea este rezolvată la momentul compilării, în timp ce suprascrierea este rezolvată la runtime.
Recomandat:
Diferența Dintre CEM și Diferența Potențială
CEM vs Diferența de potențial (forța electromotivă) sunt utilizate pentru a descrie doi parametri diferiți între două puncte. Termenul „diferență de potențial” este un ge
Diferența Dintre Diferența De Fază și Diferența De Cale
Diferența de fază vs Diferența de cale Diferența de fază și diferența de cale sunt două concepte foarte importante în optică. Aceste fenomene sunt văzute pe probleme de
Diferența Dintre Suprasolicitare și Suprascriere în Java
Diferența cheie - Supraîncărcarea vs suprascrierea în Java Object-Oriented Programming (OOP) este o paradigmă majoră în dezvoltarea de software. Este o metodologie pentru
Diferența Dintre Suprascriere și Supraîncărcare în C
Diferența cheie - Suprascriere vs supraîncărcare în C # Diferența cheie între suprascriere și supraîncărcare în C # este că legarea metodei suprascrise cal
Diferența Dintre Diferența Cheie Dintre Mineralele Metalice și Cele Nemetalice
Diferența cheie - Minerale metalice vs. minerale nemetalice Un mineral este un constituent solid și anorganic natural, cu o formulă chimică definită și