Programovací jazyk Java je najlepšou voľbou, pokiaľ ide o . S pojmami ako triedy , , atď., je veľmi ľahké s ním pracovať . Ľahký prístup a ľahká syntax robí kód efektívnym a menej zložitým. V tomto článku sa dozvieme o preťažení a prepísaní metód v Jave. Nasledujú témy diskutované v tomto blogu:
- Čo je preťaženie metód v prostredí Java?
- Prečo preťaženie metódy?
- Príklady preťaženia metód
- Čo je to prepísanie metódy?
- Pravidlá pre prepísanie metódy
- Príklad prevládajúcej metódy
- Preťaženie vs prepísanie: Rozdiely medzi preťažením metódy a prepísaním metódy
Čo je preťaženie metód v prostredí Java?
Preťaženie metódy umožňuje, aby mala metóda rovnaký názov, ktorý sa líši na základe argumentov alebo typov argumentov. Môže to súvisieť s polymorfizmom v čase kompilácie. Nasleduje niekoľko ukazovateľov, ktoré musíme mať na pamäti pri preťažovaní metód v Jave.
Nemôžeme preťažiť návratový typ.
Aj keď môžeme preťažiť , argumenty alebo vstupné parametre musia byť odlišné.
Nemôžeme preťažiť dve metódy, ak sa líšia iba statickým kľúčovým slovom.
Rovnako ako iné statické metódy, aj metóda main () môže byť preťažená.
Pozrime sa na jednoduchý program, ktorý pochopí, ako funguje preťaženie metód v pythone.
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 main (String args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
Výkon: 5 4
Vo vyššie uvedenom programe máme dve metódy s rovnakým názvom, ale rôznymi parametrami. Takto funguje preťaženie metódy .
Prečo preťaženie metódy?
Hlavnou výhodou použitia preťaženia metód v Jave je to, že nám dáva slobodu nedefinovať funkciu znova a znova pre to isté. V nasledujúcom príklade tieto dve metódy v zásade vykonávajú delenie, takže môžeme mať rôzne metódy s rovnakým názvom, ale s rôznymi parametrami. Pomáha tiež pri kompilácii polymorfizmu.
Preťaženie metódy main ():
Nasleduje príklad preťaženia metódy main () v jave.
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 (' welcome '+ arg1) Edureka.main (' welcome ',' to edureka ')} public static void main (String arg1, String arg2) {System.out.println (' ahoj ', + arg1, + arg2)}}
Výkon: ahoj vitaj edurekan ahoj, vitaj na edureka
Príklady preťaženia metód
- Program na preťaženie statických metód v Jave.
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))}}
Výkon: 100 edureka
- Program na preťaženie troch metód s rovnakým názvom.
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)}}
Výkon: 40 75 34
Čo je to prepísanie metódy v Jave?
Dedenie v Jave zahŕňa vzťah medzi triedami rodiča a dieťaťa. Kedykoľvek obe triedy obsahujú metódy s rovnakým názvom a argumentmi alebo parametrami, je isté, že jedna z metód počas vykonávania prepíše inú metódu. Metóda, ktorá sa vykoná, závisí od objektu.
Ak objekt podradenej triedy zavolá metódu, metóda podradenej triedy prepíše metódu nadradenej triedy. V opačnom prípade, ak objekt nadradenej triedy zavolá metódu, vykoná sa metóda nadradenej triedy.
Prepísanie metódy tiež pomáha pri implementácii runtime polymorfizmu v Jave. Uveďme si jednoduchý príklad, aby sme pochopili, ako funguje prepísanie metódy v Jave.
previesť binárne na desatinné 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 ()
Výkon: toto je metóda detskej triedy
Pravidlá pre prepísanie metódy
The prístup upraviť môže povoliť viac prístupu iba pre prepísanú metódu.
TO Konečný metóda nepodporuje prepísanie metódy.
Statickú metódu nemožno prepísať.
Súkromné metódy nemožno prepísať.
Návratový typ prepisovacej metódy musí byť rovnaký.
Metódu nadradenej triedy môžeme nazvať prvoradou metódou pomocou kľúčového slova super.
TO staviteľ nemožno prepísať, pretože podradená trieda a nadradená trieda nemôžu mať konštruktor s rovnakým názvom.
Príklad prevládajúcej metódy
- Program na prepísanie pomocou super kľúčového slova
trieda 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 ()}}
Výkon: metóda rodičovskej triedy metóda detskej triedy
Preťaženie vs prepísanie: Rozdiel medzi preťažením metódy a prepísaním metódy
Nasledujú kľúčové rozdiely medzi preťažením metódy a prepísaním v Jave.
Metóda preťaženia | Prepísanie metódy |
|
|
|
|
|
|
|
|
|
|
|
|
V tomto blogu sme sa podrobne zaoberali preťažovaním metód a prepismi metód. So zapojením tried, objektov a konceptov ako dedičnosť a polymorfizmus je dosť dôležité získať jasnú predstavu o tom, čo to znamená preťažiť alebo prekonať metódy v jave.
Programovací jazyk Java je vrcholom objektovo orientovaného programovania a obsahuje veľa aplikácií. S dopytom a popularitou musí byť začínajúci vývojár java schopný ovládať základné koncepty programovacieho jazyka. Zaregistrujte sa k Edureke naštartovať vaše učenie.
Máte na nás otázku? uveďte to prosím v sekcii komentárov v tomto článku o „preťažení metódy oproti prepísaniu metódy v jave“ a ozveme sa vám čo najskôr.