Каква е разликата между претоварването на метода и заместването?



Тази статия обхваща ключовите разлики между претоварването на метода и заместването в java с различни примери, включително супер ключова дума и различни правила.

Езикът за програмиране Java е най-добрият избор, когато става въпрос за . С понятия като класове , , и т.н., става изключително лесно да се работи . Лесният достъп и лесният синтаксис правят кода ефективен и по-малко сложен. В тази статия ще научим за претоварването и заместването на метода в Java. Следват темите, обсъдени в този блог:

Какво представлява претоварването на метода в Java?

Претоварването на метода позволява на метода да има същото име, което се различава въз основа на аргументи или типове аргументи. Той може да бъде свързан с полиморфизма по време на компилация. Следват няколко насоки, които трябва да имаме предвид, докато претоварваме методите в Java.





  • Не можем да претоварим тип връщане.

  • Въпреки че можем да претоварим , аргументите или входните параметри трябва да са различни.



  • Не можем да претоварим два метода, ако те се различават само по статична ключова дума.

  • Подобно на други статични методи, методът main () също може да бъде претоварен.

метод претоварване - метод претоварване и заместване в java- edureka



Нека да разгледаме проста програма, за да разберем как работи претоварването на метода в python.

публичен клас 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)}}
 Изход: 5 4

В горната програма имаме два метода със същото име, но различни параметри. Ето как работи претоварването на метода .

Защо претоварването на метода?

Основното предимство на използването на претоварване на метод в Java е, че ни дава свободата да не дефинираме функция отново и отново за извършване на едно и също нещо. В примера по-долу двата метода основно извършват разделяне, така че можем да имаме различни методи с едно и също име, но с различни параметри. Той също така помага при полиморфизъм по време на компилация.

Претоварване на метода main ():

Следва пример за претоварване на метода main () в java.

публичен клас Edureka {public static void main (String [] args) {System.out.println ('hello') Edureka.main ('edurekan')} public static void main (String arg1) {System.out.println (' добре дошли '+ arg1) Edureka.main (' welcome ',' to edureka ')} public static void main (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
 Изход: здравей добре дошли edurekan здравей, добре дошли в edureka

Примери за претоварване на методи

  • Програма за претоварване на статични методи в java.
публичен клас Тест {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))}}
 Изход: 100 edureka
  • Програма за претоварване на три метода със същото име.
публичен клас Добавяне {публичен int добавяне (int a, int b) {return (a + b)} публичен int добавяне (int a, int b, int c) {return (a + b + c)} публично двойно добавяне (двойно 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)}}
 Изход: 40 75 34

Какво е замяна на метода в Java?

Наследяването в Java включва връзка между класове родител и дете. Винаги, когато и двата класа съдържат методи с едно и също име и аргументи или параметри, е сигурно, че един от методите ще замени другия метод по време на изпълнение. Методът, който ще бъде изпълнен, зависи от обекта.

Ако обектът на дъщерния клас извика метода, методът на дъщерния клас ще замени метода на родителския клас. В противен случай, ако обектът родителски клас извика метода, методът родителски клас ще бъде изпълнен.

Заменянето на метода също помага при внедряването на полиморфизъм по време на изпълнение в java. Нека вземем прост пример, за да разберем как заместването на метода работи в 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 class class method)}} публична статична void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
 Изход: това е метод на детски клас

Правила за замяна на метода

  • The достъп редактиране може да разреши повече достъп за отменения метод.

  • ДА СЕ финал методът не поддържа заместване на метода.

  • Статичен метод не може да бъде заменен.

  • Частните методи не могат да бъдат заменени.

  • Типът на връщане на метода за замяна трябва да бъде същият.

  • Можем да извикаме метода на родителския клас в заместващия метод, използвайки ключовата дума super.

  • ДА СЕ строител не може да бъде заменено, тъй като детски клас и родителски клас не могат да имат конструктора със същото име.

Пример за заместване на метода

  • Програма за показване на заместване с помощта на супер ключова дума
class Родител {void show () {System.out.println ('метод на родителски клас')} class Child разширява Parent {void show () {super.show () System.out.println ('метод на детски клас')} public static void main (String args []) {Parent ob = new Child () ob.show ()}}
 Изход: метод на родителски клас метод на детски клас

Претоварване срещу заместване: Разлика между претоварването на метода и заместването на метода

Следват ключовите разлики между претоварването на метода и заместването в Java.

Метод Претоварване Замяна на метода
  • Използва се за увеличаване на четливостта на програмата
  • Осигурява специфично изпълнение на метода, който вече е в родителския клас
  • Извършва се в рамките на същия клас
  • Той включва множество класове
  • Параметрите трябва да са различни в случай на претоварване
  • Параметрите трябва да бъдат еднакви в случай на замяна
  • Е пример за полиморфизъм по време на компилация
  • Това е пример за полиморфизъм по време на изпълнение
  • Типът на връщане може да бъде различен, но трябва да промените и параметрите.
  • Типът на връщане трябва да бъде същият при заменяне
  • Статичните методи могат да бъдат претоварени
  • Заменянето не включва статични методи.

В този блог обсъдихме подробно претоварването на метода и заместването на метода. С участието на класове, обекти и понятия като наследяване и полиморфизъм става доста важно да се получи ясна представа какво означава претоварване или замяна на методите в java.

как да инсталирам php на прозореца -

Езикът за програмиране Java е върхът в обектно-ориентираното програмиране и включва много приложения. С търсенето и популярността, амбициозният разработчик на Java трябва да владее основните принципи на езика за програмиране. Запишете се в Edureka’s за да започнете обучението си.

Имате въпрос към нас? моля, споменете това в раздела за коментари на тази статия за „претоварване на метода срещу заместване на метод в java“ и ние ще се свържем с вас възможно най-скоро.