Diferența dintre supraîncărcare și suprascriere în Java

Cuprins:

Diferența dintre supraîncărcare și suprascriere în Java
Diferența dintre supraîncărcare și suprascriere în Java

Video: Diferența dintre supraîncărcare și suprascriere în Java

Video: Diferența dintre supraîncărcare și suprascriere în Java
Video: DIFFERENCES BETWEEN METHOD OVERLOADING AND OVERRIDING - JAVA PROGRAMMING 2024, Noiembrie
Anonim

Diferența cheie – Supraîncărcare vs Suprascriere în Java

Programarea orientată pe obiecte (OOP) este o paradigmă majoră în dezvoltarea de software. Este o metodologie de proiectare a unui program folosind clase și obiecte. O clasă este un plan. Descrie ce ar trebui să conțină în obiect. Definește proprietățile sau atributele și metodele din care ar trebui să fie compus obiectul. Prin urmare, un obiect este o instanță a unei clase. Aceste obiecte comunică cu alte obiecte. Un concept major al OOP este polimorfismul. Este capacitatea unui obiect de a se comporta în mai multe moduri. Polimorfismul este clasificat în două secțiuni care sunt supraîncărcare și suprascriere. Acest articol discută diferența dintre acestea două în Java. Diferența cheie dintre supraîncărcare și suprascriere în Java este că supraîncărcarea este capacitatea de a crea mai multe metode cu același nume cu implementări diferite, iar Overriding este de a oferi o implementare pentru o metodă de subclasă care există deja în superclasă.

Ce este supraîncărcarea în Java?

Supraîncărcarea este abilitatea de a crea mai multe metode cu același nume cu implementări diferite. Consultați codul Java de mai jos.

Diferența dintre supraîncărcare și suprascriere în Java
Diferența dintre supraîncărcare și suprascriere în Java
Diferența dintre supraîncărcare și suprascriere în Java
Diferența dintre supraîncărcare și suprascriere în Java

Figura 01: program Java care explică supraîncărcarea cu un număr diferit de argumente

Conform programului de mai sus, clasa A conține două metode cu același nume. Prima metodă de sumă are doi parametri. A doua metodă de sumă are trei parametri. Când se creează un obiect de tip A și se apelează sum(2, 3), va apela metoda sum cu doi parametri care sunt sum(int a, int b) și returnează 5. Când se creează un obiect de tip A și se apelează sum(2)., 3, 4), va apela ceal altă metodă sum cu trei parametri care este suma (int a, int b, int c) și returnează 9.

Numele metodei este același, dar numărul de parametri este diferit. Se poate observa că același obiect se comportă diferit. Acest concept este cunoscut sub numele de supraîncărcare. Este, de asemenea, denumită Legare statică sau Polimorfism timp al compilației.

De asemenea, poate fi supraîncărcat cu diferite tipuri de date. Consultați codul Java de mai jos.

Diferența dintre supraîncărcare și suprascriere în Java_Figura 02
Diferența dintre supraîncărcare și suprascriere în Java_Figura 02
Diferența dintre supraîncărcare și suprascriere în Java_Figura 02
Diferența dintre supraîncărcare și suprascriere în Java_Figura 02

Figura 02: Program Java care explică supraîncărcarea cu un număr diferit de argumente

Conform programului de mai sus, clasa A constă din două metode cu același nume. Metoda sum(int a, int b) primește două valori întregi. Suma (dublu a dublu b) primește două valori duble. Când se creează obiectul de tip A și se apelează sum(2, 3), va apela sum(int a, int b) și va returna valoarea 5. Când se apelează sum(3.4, 5.6), va apela sum(double a double b) și returnează valoarea 9,0. În acest exemplu, metodele au același nume, dar un tip diferit de variabile. Acest lucru este, de asemenea, supraîncărcare.

Ce este anularea în Java?

În Java, este posibil să construiți subclase cu clase deja existente. În loc să creați noua clasă de la început, este posibil să folosiți proprietățile și metodele clasei deja existente. Clasa existentă este superclasa, iar clasa derivată este subclasa. Când subclasa oferă o implementare pentru o metodă, care este deja în superclasă, aceasta este cunoscută ca suprascriere. Consultați programul Java de mai jos.

Diferența cheie între supraîncărcare și suprascriere în Java
Diferența cheie între supraîncărcare și suprascriere în Java
Diferența cheie între supraîncărcare și suprascriere în Java
Diferența cheie între supraîncărcare și suprascriere în Java

Figura 03: Program Java pentru suprascrie

Conform programului de mai sus, clasa A are o metodă de afișare(). Clasa B se extinde din clasa A, astfel încât proprietățile și metodele clasei A sunt accesibile de clasa B. Clasa B are metoda display() cu o implementare specifică. Când se creează un obiect de tip A și se apelează la metoda de afișare, acesta va da ieșirea B. Chiar dacă clasa A are o metodă de afișare, este suprascrisă de la metoda de afișare a clasei B. Subclasa implementează o metodă care există deja în superclasă.

Acest concept este un tip de polimorfism cunoscut sub numele de suprascriere. Este, de asemenea, numită Legare târzie, Legare dinamică, Polimorfism de rulare.

Care sunt asemănările între supraîncărcare și suprascriere în Java?

  • Ambele sunt tipuri de polimorfism.
  • În supraîncărcare și suprascriere, metodele au același nume.

Care este diferența dintre supraîncărcare și suprascriere în Java?

Supraîncărcare vs suprascriere în Java

Supraîncărcarea în Java este abilitatea de a crea mai multe metode cu același nume cu implementări diferite. Anularea în Java oferă o implementare specifică în metoda subclaselor pentru o metodă care există deja în superclasă.
parametri
În supraîncărcare, metodele au același nume, dar un număr diferit de parametri sau un tip diferit de parametri. În înlocuire, metodele au același nume, iar parametrii trebuie să fie aceiași.
Teme
Supraîncărcarea are loc în cadrul clasei. Anularea are loc în cadrul celor două clase care au o relație de moștenire.
Sinonime
Supraîncărcarea se numește polimorfism în timp compilat. Anularea se numește polimorfism de rulare.

Rezumat – Supraîncărcare vs suprascriere în Java

Polimorfismul este un concept major în programarea orientată pe obiecte. Oferă capacitatea unui obiect de a se comporta în mai multe moduri. Aceasta poate fi fie de supraîncărcare, fie de suprasolicitare. Supraîncărcarea este polimorfismul în timp de compilare, iar suprascrierea este polimorfismul în timpul execuției. Sunt utile în dezvoltarea de aplicații software. Diferența dintre suprascriere și supraîncărcare este că supraîncărcarea este abilitatea de a crea mai multe metode cu același nume cu implementări diferite, iar Overriding oferă o implementare specifică în metoda subclaselor pentru o metodă care există deja în superclasă. Este posibil să implementați atât supraîncărcarea, cât și suprascrierea în Java.

Descărcați supraîncărcarea PDF-ului vs suprascriere în Java

Puteți descărca versiunea PDF a acestui articol și o puteți utiliza în scopuri offline, conform nota de citare. Vă rugăm să descărcați versiunea PDF aici Diferența dintre supraîncărcare și suprascriere în Java

Recomandat: