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 Pokemon Negru și Alb

    Diferența dintre Pokemon Negru și Alb

    Diferența cheie: Pokemon Black and White au fost lansate la data de 18 septembrie 2010 în Japonia. Acesta este cel de-al doilea cel mai popular joc video din lume, dezvoltat de Game Freak și publicat de Nintendo pentru Nintendo DS. Știți cine este Pokemon? Pokemon sunt caractere fictive de desene animate care au fost proiectate și publicate de compania japoneză de jocuri video cunoscută sub numele de Nintendo. Pokemo
  • comparații populare: Diferența dintre formatul de fișier audio WAV și WMA

    Diferența dintre formatul de fișier audio WAV și WMA

    Diferența cheie: WAV este un format audio. Acesta este format Waveform Audio File Format și a fost dezvoltat de Microsoft și IBM pentru PC-uri. WMA este o compresie de date audio. Acesta reprezintă Windows Media Audio și a fost dezvoltat de Microsoft. WAV, abrevierea pentru Formatul fișierului audio Waveform, a fost dezvoltat de Microsoft și IBM pentru PC-uri. Acest
  • comparații populare: Diferența dintre Parlament și Adunarea Legislativă

    Diferența dintre Parlament și Adunarea Legislativă

    Diferența esențială: Parlamentul și Adunarea Legislativă sunt ambele nume care sunt date unui legiuitor. O legislatură nu este altceva decât o organizație de decizie. Cea mai comună și probabil singura diferență dintre cele două este că, în timp ce numele Adunării Legislative poate fi dat oricărei legislaturi, numele Parlamentului este rezervat unei legislaturi în sistemul Westminster. Sistemul politic
  • comparații populare: Diferența dintre Kindle și Kindle Paperwhite

    Diferența dintre Kindle și Kindle Paperwhite

    Diferența cheie: Amazon Kindle este un cititor de e-book primar și de bază, proiectat și comercializat de Amazon începând cu 19 noiembrie 2007. Pe de altă parte, Kindle Paperwhite este o serie avansată de cititoare de cărți electronice Kindle, care a fost anunțat de către Amazon la data de 6 septembrie 2012. Kindle și
  • comparații populare: Diferența dintre Samsung și Sony

    Diferența dintre Samsung și Sony

    Diferența cheie: Samsung a fost inițial cunoscut ca o societate comercială; este proiectat și comercializat de Lee Byung-Chul. Sony este o companie de tehnologie proeminentă; este proiectat și comercializat de către Masaru Ibuka și Akio Morita. Samsung și Sony sunt două dintre cele mai dezvoltate companii. Să înțel
  • comparații populare: Diferența dintre Kindle și Tablet

    Diferența dintre Kindle și Tablet

    Diferența cheie: Un Kindle este un dispozitiv care permite să descărcați cărți și să le citiți. Pe de altă parte, un Tablet poate fi utilizat în diverse scopuri. Este un obiect gadget în care se obțin milioane de aplicații, muzică, cărți de citit etc. Atât Kindle cât și Tablet sunt utilizate în scopuri similare, dar există și multe diferențe între ele. Kindle a început să fie
  • comparații populare: Diferența dintre Tylenol și Advil

    Diferența dintre Tylenol și Advil

    Diferența principală: ingredientul activ al lui Tylenol este acetaminofenul, cunoscut și ca paracetamol. Ingredientul activ Advil este ibuprofenul. Tylenol și Advil sunt medicamente utilizate cel mai frecvent pentru ameliorarea durerii și a febrei. Ambele sunt disponibile peste tejghea. Cu toate acestea, există structuri chimice diferite și diferite efecte secundare. Ingre
  • comparații populare: Diferența dintre memoria cache și cookie

    Diferența dintre memoria cache și cookie

    Diferența cheie: Cache-ul și cookie-ul sunt două forme prin care informațiile sunt stocate pe computer. Aceste informații sunt stocate pe mașina clientului pentru a îmbunătăți performanța paginilor web. Ambele diferă în multe aspecte; în primul rând în tipurile de informații stocate de aceștia. Cache stochează
  • comparații populare: Diferența dintre circulația sistemică și circulația pulmonară

    Diferența dintre circulația sistemică și circulația pulmonară

    Diferența cheie: Circulația sistemică este o parte a sistemului cardiovascular, care este responsabil pentru transportarea sângelui oxigenat de la inimă la corp, și întoarce sângele deoxigenat înapoi în inimă. Circulatia pulmonara este o parte a sistemului cardiovascular, care este responsabila pentru transportul de-oxigenat de la inima la plamani si apoi inapoi in inima pentru ca acesta sa transfere sangele oxigenat catre restul corpului. Inima est

Alegerea Editorului

Diferența dintre greață și amețeli

Diferența cheie: Greața este o senzație pe care o simți când o să facă voma. Amețeli este de a avea o senzație de întoarcere care se simte dezechilibrat sau de cap. Greața este o senzație pe care o simți când e pe cale să vomite. Cuvântul greață a fost derivat din cuvântul "nauzie", adică boală de mișcare. Greața nu are un sim