logo

Rozdiel medzi preťažením metódy a prepísaním metódy v jave

Existuje veľa rozdielov medzi preťažením metódy a prepísaním metódy v jazyku Java. Nižšie je uvedený zoznam rozdielov medzi preťažením metódy a prepísaním metódy:

NiePreťaženie metódyPrepísanie metódy
1)Používa sa preťaženie metódy na zvýšenie čitateľnosti programu.Používa sa prepísanie metódy zabezpečiť konkrétnu realizáciu metódy, ktorú už poskytuje jej supertrieda.
2)Vykonáva sa preťaženie metódy v rámci triedy .Vyskytne sa prepísanie metódy v dvoch triedach ktoré majú IS-A (dedičný) vzťah.
3)V prípade preťaženia metódy, parameter musí byť iný .V prípade prepísania metódy, parameter musí byť rovnaký .
4)Preťaženie metódy je príkladom kompilačný časový polymorfizmus .Prepísanie metódy je príkladom polymorfizmus doby behu .
5)V jave sa preťaženie metódy nedá vykonať iba zmenou typu návratu metódy. Typ návratu môže byť rovnaký alebo odlišný pri preťažení metódy. Musíte však zmeniť parameter. Návratový typ musí byť rovnaký alebo kovariantný pri prepisovaní metódy.

Príklad preťaženia metódy Java

 class OverloadingExample{ static int add(int a,int b){return a+b;} static int add(int a,int b,int c){return a+b+c;} } 

Príklad prepísania metódy Java

 class Animal{ void eat(){System.out.println('eating...');} } class Dog extends Animal{ void eat(){System.out.println('eating bread...');} }