Care este diferența dintre suprasolicitarea metodei și suprascrierea?



Acest articol acoperă diferențele cheie dintre supraîncărcarea metodei și suprascrierea în java, cu diverse exemple, inclusiv super cuvinte cheie și diverse reguli.

Limbajul de programare Java este cea mai bună alegere când vine vorba . Cu concepte precum clase , , , etc, devine extrem de ușor de lucrat . Accesul ușor și sintaxa ușoară fac codul eficient și mai puțin complex, de asemenea. În acest articol, vom afla despre supraîncărcarea și suprascrierea metodelor în Java. Următoarele sunt subiectele discutate în acest blog:

Ce este supraîncărcarea metodelor în Java?

Supraîncărcarea metodei permite metodei să aibă același nume care diferă pe baza argumentelor sau a tipurilor de argumente. Poate fi legat de polimorfismul de compilare. Următoarele sunt câteva indicații pe care trebuie să le avem în vedere în timp ce supraîncărcarea metodelor în Java.





  • Nu putem supraîncărca un tip de returnare.

  • Deși putem supraîncărca , argumentele sau parametrii de intrare trebuie să fie diferiți.



  • Nu putem supraîncărca două metode dacă diferă doar printr-un cuvânt cheie static.

  • Ca și alte metode statice, metoda main () poate fi, de asemenea, supraîncărcată.

overloading method - supraîncărcare metodă și suprascriere în java- edureka



Să aruncăm o privire la un program simplu pentru a înțelege cum funcționează supraîncărcarea metodelor în python.

public class Div {public int div (int a, int b) {return (a / b)} public int div (int a, int b, int c) {return ((a + b) / c)} public static void principal (String args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
 Ieșire: 5 4

În programul de mai sus, avem două metode cu același nume, dar parametri diferiți. Așa funcționează supraîncărcarea metodei .

__init__ python 3

De ce supraîncărcarea metodelor?

Principalul avantaj al utilizării supraîncărcării metodei în Java este că ne oferă libertatea de a nu defini o funcție din nou și din nou pentru a face același lucru. În exemplul de mai jos, cele două metode realizează practic divizarea, deci putem avea metode diferite cu același nume, dar cu parametri diferiți. De asemenea, ajută la compilarea polimorfismului în timp.

Supraîncărcarea metodei main ():

Următorul este un exemplu pentru supraîncărcarea metodei main () în java.

public class Edureka {public static void main (String [] args) {System.out.println ('hello') Edureka.main ('edurekan')} public static void main (String arg1) {System.out.println (' bun venit '+ arg1) Edureka.main (' bun venit ',' la edureka ')} public static void main (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
 Ieșire: salut bun venit edurekan salut, bun venit la edureka

Exemple de metode de supraîncărcare

  • Program pentru supraîncărcarea metodelor statice în java.
public class Test {public static int func (int a) {return 100} public static char func (int a, int b) {return 'edureka'} public static void main (String args []) {System.out.println ( func (1)) System.out.println (func (1,3))}}
 Ieșire: 100 edureka
  • Programați pentru a supraîncărca trei metode cu același nume.
public class Add {public int add (int a, int b) {return (a + b)} public int add (int a, int b, int c) {return (a + b + c)} public double add (double a, double b) {return (a + b)} public static void main (String args []) {Add ob = new Add () ob.add (15,25) ob.add (15,25,35) ob .add (11.5, 22.5)}}
 Ieșire: 40 75 34

Ce este metoda suprascriere în Java?

Moștenirea în Java implică o relație între clasele părinte și copil. Ori de câte ori ambele clase conțin metode cu același nume și argumente sau parametri, este sigur că una dintre metode va suprascrie cealaltă metodă în timpul execuției. Metoda care va fi executată depinde de obiect.

Dacă obiectul clasei copil apelează metoda, metoda clasei copil va suprascrie metoda clasei părinte. În caz contrar, dacă obiectul clasei părinte apelează metoda, metoda clasei părinte va fi executată.

Anularea metodei ajută, de asemenea, la implementarea polimorfismului de rulare în java. Să luăm un exemplu simplu pentru a înțelege cum funcționează suprascrierea metodei în Java.

class Parent {void view () {System.out.println ('this is a parent class method)}} class Child extends Parent {void view () {System.out.println (' this is a child class method)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
 Ieșire: aceasta este o metodă de clasă pentru copii

Reguli pentru suprascrierea metodei

  • acces la editare poate permite doar mai mult acces pentru metoda suprascrisă.

  • LA final metoda nu acceptă suprascrierea metodei.

  • O metodă statică nu poate fi ignorată.

  • Metodele private nu pot fi anulate.

  • Tipul de returnare al metodei de suprascriere trebuie să fie același.

  • Putem apela metoda clasei părinte în metoda suprascriere folosind cuvântul cheie super.

  • LA constructor nu poate fi suprascris deoarece o clasă copil și o clasă părinte nu pot avea constructorul cu același nume.

Exemplu de suprascriere a metodei

  • Program pentru a afișa suprasolicitarea folosind super cuvânt cheie
class Parent {void show () {System.out.println ('parent class method')} class Child extends Parent {void show () {super.show () System.out.println ('child class method')} public static void main (String args []) {Parent ob = new Child () ob.show ()}}
 Ieșire: metoda clasei părinte metoda clasei copilului

Supraîncărcare vs suprascriere: diferența dintre supraîncărcarea metodei și suprascrierea metodei

Următoarele sunt diferențele cheie dintre supraîncărcarea metodei și suprascrierea în Java.

cum se face o matrice dinamică în java
Metoda de supraîncărcare Anularea metodei
  • Este folosit pentru a crește lizibilitatea programului
  • Oferă o implementare specifică a metodei deja în clasa părinte
  • Se efectuează în cadrul aceleiași clase
  • Implică clase multiple
  • Parametrii trebuie să fie diferiți în caz de supraîncărcare
  • Parametrii trebuie să fie identici în caz de suprascriere
  • Este un exemplu de polimorfism în timp de compilare
  • Este un exemplu de polimorfism în timpul rulării
  • Tipul de returnare poate fi diferit, dar trebuie să modificați și parametrii.
  • Tipul de returnare trebuie să fie același la suprascriere
  • Metodele statice pot fi supraîncărcate
  • Suprascrierea nu implică metode statice.

În acest blog, am discutat în detaliu supraîncărcarea metodei și suprascrierea metodei. Odată cu implicarea claselor, obiectelor și conceptelor precum moștenirea și polimorfismul, devine destul de important să vă faceți o idee clară despre ce înseamnă supraîncărcarea sau suprascrierea metodelor în java.

Limbajul de programare Java este un vârf în programarea orientată pe obiecte și încorporează o mulțime de aplicații. Odată cu cererea și popularitatea, un dezvoltator Java aspirant trebuie să fie competent în conceptele fundamentale ale limbajului de programare. Înscrieți-vă la Edureka’s pentru a începe învățarea.

Ai o întrebare pentru noi? vă rugăm să menționați acest lucru în secțiunea de comentarii a acestui articol despre „supraîncărcarea metodelor vs suprascrierea metodei în Java” și vă vom răspunde cât mai curând posibil