Diferența dintre suprasarcină și suprascriere în Java

Diferența principală : Supraîncărcarea înseamnă că au două metode din aceeași clasă cu același nume și cu diferite tipuri de parametri, în timp ce mijloacele de suprasarcină au două metode diferite în aceeași clasă cu aceleași tipuri de parametri, dar cu diferite implementări.

Metodele principale și supraîncărcarea sunt două concepte sau tehnici utilizate în limbile de programare java. Ambele concepte permit programatorului să furnizeze diferite implementări pentru metode cu același nume. Acest articol diferențiază cele două concepte de programare.

Supraîncărcarea funcțiilor sau suprasolicitarea metodelor permite crearea mai multor metode cu același nume, în aceeași clasă, dar diferite între ele în tipul de intrare și de ieșire al funcției. Este pur și simplu definită ca abilitatea unei funcții de a îndeplini diferite sarcini.

În timpul supraîncărcării, implementările de metode au același nume deoarece efectuează sarcini similare. De asemenea, supraîncărcarea este considerată polimorfă. Funcțiile care au diferite implementări depind de tipurile de argument specificate. De obicei, este asociat cu limbi de programare statice, care impune verificarea tipului în apelurile funcționale. Este, de asemenea, considerat practic, deoarece permite programatorului să scrie o serie de metode diferite în aceeași clasă. Cu toate acestea, în timpul supraîncărcării procesorului de execuție se schimbă numele tuturor metodelor supraîncărcate, ceea ce poate fi o problemă.

Metoda de suprascriere, în programarea orientată pe obiecte, este o caracteristică care permite unei clase de subclase sau unui copil să furnizeze o implementare specifică a unei metode care este deja furnizată de una dintre clasele super-clase sau de părinți. Implementarea în subclasă înlocuiește sau înlocuiește implementarea în clasa părinte furnizând o metodă cu același nume, aceiași parametri sau aceeași semnătură și același tip de retur ca și metoda din clasa părinte.

În metoda de suprascriere, funcțiile sunt codificate pentru a îndeplini sarcini specifice într-un program. Îndepărtarea depinde de prezența unei funcții de clasă de bază pentru aspectul acesteia. Aici, funcția executată este determinată de obiectul care este folosit pentru a se invoca, adică dacă un obiect al unei clase părinte este folosit pentru a invoca metoda, atunci funcția din clasa părinte va fi executată. Înlăturarea este de natură polimorfă; ajută la proiectarea programelor bazate pe primul parametru implicit, care poate fi rezolvată în timpul rulării. Există câteva limbi în java care permit unui programator să împiedice suprimarea unei metode.

Comparație între supraîncărcare și depășire:

supraîncărcarea

Supracomandarea

Definiție

Înseamnă a avea metode de aceeași clasă sub același nume, dar fiecare metodă are parametri diferiți sau are aceiași parametri cu diferite tipuri și ordine.

Înseamnă a avea o clasă subactivă cu aceleași metode cu același nume și exact același tip de parametri și același tip de returnare ca o clasă super.

Sens

Înseamnă că mai multe metode au același nume în aceeași clasă, dar au o altă semnătură.

Aceasta înseamnă că metoda clasei de bază este redefinită în clasa derivată cu aceeași semnătură.

Comportament

Se adaugă sau se extinde la comportamentul metodelor.

Modifică comportamentul existent al unei metode.

polimorfismul

Este un polimorfism de compilare a timpului.

Este un polimorfism al timpului de rulare.

Metoda statică

Metoda statică poate fi supraîncărcată.

Metoda statică nu poate fi înlocuită.

Legătură

Legătura statică.

Legătura dinamică.

Moştenire

Poate sau nu poate cere moștenire.

Întotdeauna necesită moștenire.

Asociere

Acesta este de obicei asociat cu limbile programelor statice.

De obicei, este asociat cu programe orientate pe obiecte.

Semnătură

Metodele au semnătura diferită.

Metodele trebuie să aibă aceeași semnătură.

Viteză

Este mai rapid decât suprasolicitarea.

Este lent în comparație cu supraîncărcarea.

Clase

Nu necesită mai mult de o clasă pentru supraîncărcare.

Este nevoie de cel puțin două clase pentru supraîncărcare.

Nivel

Metodele pot avea orice nivel de acces.

Metodele au același nivel sau nivel de acces larg.

Exemplu

Adăugați clasa

{

suma int (int a, int b)

{

returnați a + b;

}

suma int (int a)

{

returnați + 10;

}

}

Clasa A // Clasa Super

{

void display (int num)

{

print num;

}

}

// Clasa B moștenește clasa A

Clasa B // Subclasa

{

void display (int num)

{

print num;

}

}

Recomandat

Articole Similare

  • comparații populare: Diferența dintre scara Richter și seismograf

    Diferența dintre scara Richter și seismograf

    Diferența cheie: un seismograf este orice instrument care măsoară mișcările terenului, inclusiv cele ale undelor seismice generate de cutremure, erupții vulcanice și alte surse seismice. În timp ce scara Richter este o scară, variind de la 1 la 10, pentru indicarea intensității unui cutremur. Conform s
  • comparații populare: Diferența dintre UTC și GMT

    Diferența dintre UTC și GMT

    Diferența principală: Atât UTC, cât și GMT sunt standarde de timp care diferă în ceea ce privește derivarea și utilizarea lor. Acronimul UTC este rezultatul unei tentative feroce de contestat între CUT, abrevierea engleză a timpului coordonat universal și TUC, abrevierea franceză a Temps Universel Coordonné. În ciuda ace
  • comparații populare: Diferența dintre undele sonore și undele electromagnetice

    Diferența dintre undele sonore și undele electromagnetice

    Diferența cheie: Undele sonore sunt în mod obișnuit legate de călătoriile de sunet. Sunetul este definit din punct de vedere tehnic ca o perturbare mecanică care trece printr-un mediu elastic. Sunetul este o vibrație mecanică care trece printr-un mediu, cum ar fi gaz, lichid sau solid, pentru a deveni un sunet. Unda e
  • comparații populare: Diferența dintre manuscris și transcriere

    Diferența dintre manuscris și transcriere

    Diferența cheie: Un manuscris se referă la un document scris manual, în timp ce o transcriere este o copie scrisă sau tipărită a unui discurs dictat sau înregistrat. Materialul sursă original și transcrierea sa, diferă întotdeauna în mediu. Manuscrisul se referă la documentul scris de mână. Termenul a fo
  • comparații populare: Diferența dintre Gay și Queer

    Diferența dintre Gay și Queer

    Diferența cheie: Gayul este un termen folosit pentru homosexuali. În timp ce, queer este un termen slang folosit în principal pentru persoanele care se identifică drept LGBT. Gayul este un termen folosit în loc de homosexuali. Acesta a fost un cuvânt folosit inițial pentru a se referi la sentimentele de "lipsit de griji", "fericit" sau "strălucitor și arătos". În ultim
  • comparații populare: Diferența dintre inotropic, cronotrop și dromotrop

    Diferența dintre inotropic, cronotrop și dromotrop

    Diferența cheie: inotrop, cronotrop și dromotropic sunt diferite tipuri de medicamente cardiace. Această clasificare se bazează pe modul în care aceste medicamente sunt utilizate pentru tratamentul unei anumite afecțiuni. Medicamentele inotropice afectează forța contracției cardiace. Medicamentele cronotrofice afectează frecvența cardiacă. Medicament
  • comparații populare: Diferența dintre FLA și SWF

    Diferența dintre FLA și SWF

    Diferența cheie: FLA și SWF sunt două tipuri de format de fișier utilizate în Adobe Flash. Principala diferență dintre FLA și SWF este faptul că fișierul SWF este produsul finit, în timp ce FLA este lucrarea în desfășurare sau fișierul sursă pentru fișierul SWF finit. FLA și SWF sunt două tipuri de format de fișier utilizate în Adobe Flash. Ele sunt folosite p
  • comparații populare: Diferența dintre Blackberry Q10 și Blackberry Z10

    Diferența dintre Blackberry Q10 și Blackberry Z10

    Diferența cheie: BlackBerry Q10 are un touchscreen capacitiv AMOLED de 3.1 inchi, care permite utilizatorilor accesul la date prin atingere și cântărește aproximativ 139 de grame. Sub ecran, există o tastatură completă QWERTY care este similară cu cele găsite pe vechile BlackBerry. Dispozitivul este alimentat de procesorul TI OMAP 4470 Cortex-A9 de 1, 5 GHz și GPU-ul PowerVR SGX544. Blackberr
  • comparații populare: Diferența dintre inelul de logodnă și inelul de logodnă

    Diferența dintre inelul de logodnă și inelul de logodnă

    Diferența cheie: inelele de logodnă și de nuntă sunt tratate ca simboluri pentru a desemna statutul angajat sau căsătorit al unei persoane. O persoană purtând un inel de nuntă simbolizează faptul că este legat. În mod similar, inelul de logodnă simbolizează faptul că persoana este angajată să se căsătorească. Inelul de logodnă

Alegerea Editorului

Diferența dintre porc și porc

Diferența cheie: Un porc este un animal aparținând genului Sus și din familia ungulatelor de Suidae, în timp ce carnea obținută din porc este cunoscută sub denumirea de carne de porc. Porcul și carnea de porc sunt legate între ele. Ne-vegetarienii le pot lega ușor, deoarece carnea de porc sub formă de carne este cunoscută sub numele de carne de porc și carne de porc este o carne foarte faimoasă. Un porc este