Разлика между претоварване и преодоляване в Java

Ключова разлика : Претоварването означава да има два метода от един и същи клас със същото име и с различни типове параметри, докато подмяната означава да имаме два различни метода в един и същи клас със същите типове параметри, но с различни реализации.

Преодоляването и претоварването на методите са две понятия или техники, използвани в езиците за програмиране на Java. И двете концепции позволяват на програмиста да осигури различни реализации за методи под същото име. В тази статия се прави разлика между двете концепции за програмиране.

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

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

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

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

Сравнение между претоварване и отхвърляне:

Претоварването

Замяната

дефиниция

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

Това означава да имате подклас със същите методи под същото име и точно същия тип параметри и същия тип връщане като супер клас.

значение

Това означава, че повече от един метод споделят едно и също име в същия клас, но имат различен подпис.

Това означава, че методът на базовия клас се дефинира отново в извлечения клас със същия подпис.

Поведение

Той добавя или разширява поведението на методите.

Той променя съществуващото поведение на даден метод.

полиморфизъм

Това е полиморфизъм на времето за компилация.

Това е полиморфизъм по време на работа.

Статичен метод

Статичният метод може да бъде претоварен.

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

Връзка

Статична връзка.

Динамична връзка.

наследяване

Тя може или не може да изисква наследяване.

Тя винаги изисква наследство.

сдружаване

Обикновено се свързва със статични езици на програмата.

Обикновено се свързва с обектно ориентирани програми.

Подпис

Методите имат различен подпис.

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

скорост

Тя е по-бърза от преодоляването.

То е бавно в сравнение с претоварването.

класове

Той не изисква повече от един клас за претоварване.

Тя изисква поне два класа за претоварване.

ниво

Методите могат да имат всяко ниво на достъп.

Методите имат едно и също или широко ниво на достъп.

пример

Class Add

{

int sum (int a, int b)

{

връщане a + b;

}

int sum (int a)

{

връщане на + 10;

}

}

Клас А // Супер клас

{

невалиден дисплей (int num)

{

print num;

}

}

// Клас Б наследява клас А

Клас Б // Подклас

{

невалиден дисплей (int num)

{

print num;

}

}

Препоръчано

Свързани Статии

  • популярни сравнения: Разлика между бебето с епруветка и майката

    Разлика между бебето с епруветка и майката

    Ключова разлика: Тюбичката Бебе, научно известна като ин витро оплождане е процес на оплождане на яйце извън тялото на жената. Сурогатното майчинство е споразумение, когато една жена се съгласява да носи бебе за друга двойка или лице. Бебето с епруветка и сурогатното майчинство са термини, които човек трябва да разбере, ако се сблъсква с проблеми със зачеването на децата. Тези две процедури са алтернативи на нормалното раж
  • популярни сравнения: Разлика между 2D и 3D

    Разлика между 2D и 3D

    Ключова разлика: Терминът 2D и 3D се използва за посочване на размерите. Терминът 2D означава двуизмерна, докато 3D означава триизмерна. 2D представлява обект само в две измерения, докато 3D представлява в три измерения. Терминът 2D и 3D се използва за посочване на размерите. Едно измерение е „всяка измерима пространствена степен, като дължина, ширина, височина, дълбочина, ширина, дебел
  • популярни сравнения: Разлика между RTGS и EFT

    Разлика между RTGS и EFT

    Ключова разлика: „RTGS“ означава брутен сетълмент в реално време. Това е онлайн система, чрез която средствата могат да се прехвърлят от една институция в друга в реално време и на брутна основа. „EFT“ означава Електронен трансфер на средства. Подобно на RTGS, при разплащанията с ЕПС средствата могат да се прехвърлят и от един клон на банка с възможн
  • популярни сравнения: Разлика между управление и контрол

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

    Ключова разлика: Управлението е процес или практика на управление. Това е акт на координиране на усилията на хората за постигане на определени цели. От друга страна, контролът е упражнението, при което човек влияе, подсказва или диктува поведението. Според Dictionary.com, Управление е: Действие или начин на управление; управление, посока или контрол. Умение за управление; изпълнител способност: голямо управление и такт. Лицето или лицата, контролиращ
  • популярни сравнения: Разлика между Jelly и Jam

    Разлика между Jelly и Jam

    Ключова разлика: Желето е прозрачно плодово разпространение, което е направено от подсладени плодове. Jam е хранителен резерват, който обикновено се използва като разпространение на гевреци, хляб, понички и др. Желе и конфитюр са две вкусни плодови консерви, които се използват като десерти или закуски. Въпреки че тези думи често се използват взаимозаменяемо, те се отнасят до две
  • популярни сравнения: Разлика между LAN и Wi-Fi

    Разлика между LAN и Wi-Fi

    Ключова разлика: LAN означава локална мрежа. Това е вид комуникационна мрежа за данни, която е ограничена в географски обхват. В LAN устройствата комуникират по общ комуникационен канал (жичен / безжичен), който позволява умерени скорости на предаване на данни. Wi-Fi означава "Безжична прецизност". Тя позволява на компютъра и другите устройства да се свързват с интернет в близост до точка за достъп. Wi-Fi принадлежи към подкатегорията на безжичните LAN мр
  • популярни сравнения: Разлика между митоза и разцепване

    Разлика между митоза и разцепване

    Ключова разлика: Митозата е тип клетъчно делене, в което клетъчното ядро ​​се дели на две идентични ядра. По отношение на клетъчното делене, разцепването се отнася до процеса на разделяне на цитоплазмата (цитокинеза) в клетките на животните. Разцепването в животински клетки става след телофазата на митозата. Митозата е тип клетъчно делене, в което клетъчното ядро ​​се дели на две идентични ядра. Новообразуваните идентични ядра също се на
  • популярни сравнения: Разлика между предлаганото писмо и писмо за намерение

    Разлика между предлаганото писмо и писмо за намерение

    Ключова разлика: по отношение на заетостта, както писмото за оферта, така и писмото за намерения играят жизненоважна роля в цикъла на набиране на персонал. Предлага се писмо с оферта от фирмата, в което се изброяват подробности за работата, която се предлага на кандидата. От друга страна, писмо за намерение е подобно на придружителното писмо, тъй като то се предоставя от кандидата на компанията и определя опита и квалификацията на кандидата. Писмо за намерение се използва за кандидатстване
  • популярни сравнения: Разлика между LAN и Broadband

    Разлика между LAN и Broadband

    Ключова разлика: LAN е локална мрежа. Това е съвкупност от компютри и свързани устройства, които са свързани помежду си. LAN се реализира на сравнително малка площ. От друга страна, Broadband се отнася до високоскоростна интернет връзка. В широколентовите мрежи се използват множество канали за данни на един проводник. Това е високоскоростен тип връзка. LAN означава локална мрежа. Това е съвкупност от компютри и с

Избор На Редактора

Разлика между продажби и маркетинг

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