Разлика между претоварване и преодоляване в 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;

}

}

Препоръчано

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

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

    Разлика между сървър и работна станция

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

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

    Ключова разлика: Има много продукти на пазара, които създават коса, включително, но не само, гел за коса и паста за коса. Гелът за коса е формула на основата на гел, която може да се използва за оформяне на косата. Гелът за коса е предимно алкохолен; Има и някои гелове на водна основа. Обикновено пастата за коса е на восъчна основа. Има много продукти, предлагани на пазара за оф
  • разлика между: Разлика между тежкия крем и крем за разбиване

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

    Ключова разлика: Тежък крем или тежък крем за разбиване има 36 до 40% масленост. Кремът за разбиване има 30-36% процент мазнина масло и е по-лек и по-пухкав. Захарни изкушения, сладкиши, бисквити и бита сметана с гарнирани напитки са целогодишна наслада. Няма сезон за торта, бисквити или бисквити, покрити с бита сметана, yum. Бита сметана, сладко пенливо вещество, което прави всичко по-вкусно, може да бъде направено по много различни начини. Ако
  • разлика между: Разлика между емотикони и емотикон

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

    Ключова разлика: Основната разлика между емотикони и емотикон е фактът, че докато емотиконът е създаден от текст, предимно чрез използването на препинателни знаци, докато емотикони е малка снимка, пиктограма. Почти всеки е използвал емотикони и емотикони поне веднъж в живота си, дори и да не са знаели какво се нарича. В най-общ език термините се използват взаимозаменяемо, макар
  • разлика между: Разлика между Lenovo Thinkpad Twist и Dell Latitude 10 Windows Tablet

    Разлика между Lenovo Thinkpad Twist и Dell Latitude 10 Windows Tablet

    Основна разлика: Уникалният аспект на Lenovo Thinkpad Twist е, че той е конвертируем лаптоп с възможност за усукване на екрана и сгъване назад. Това позволява на устройството да заема четири режима на проектиране. Това включва режим на лаптоп, режим Tablet, режим на палатка и накрая режим Stand. Lenovo Thinkpad Twist разполага с 12.5 HD IPS дисплей с сензорен сензор з
  • разлика между: Разлика между есенцията и етеричното масло

    Разлика между есенцията и етеричното масло

    Ключова разлика: Етеричните масла са "концентрирана хидрофобна течност, съдържаща летливи ароматни съединения от растенията." Етеричните масла са ефективно масла, които носят същността на съставката, от която се отглеждат. Есенцията е ароматизираща съставка, която се използва главно в редица рецепти, за да им се придаде аромат и / или аромат на оригиналната съставка. Докато се отнася за хранителни съставк
  • разлика между: Разлика между разтворими и неразтворими фибри

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

    Ключова разлика: Влакното е необходима част от всяка диета. Всъщност влакното се разделя на два основни вида: разтворими фибри и неразтворими фибри. Основната разлика между двата вида влакна е посочена в самите им имена; разтворимите фибри са тези, които се разтварят във вода, докато неразтворимите фибри не. Това е общоизвестен факт, че фибри е необходима част от всяка диета. Хората трябва да консумират достатъчно количество фибри, за да останат здрави; и твърде малко или прекалено много фибри може веднага да доведе до проблеми с храносмилането. Fiber има м
  • разлика между: Разлика между Inkjet и Deskjet принтери

    Разлика между Inkjet и Deskjet принтери

    Ключова разлика: Мастиленоструйният принтер е тип принтер, който отпечатва изображения чрез прокарване на капчици мастило върху хартията. Тези принтери са най-често срещаният тип принтери, които се предлагат в домакинствата. Deskjet е марка принтери на Hewlett-Packard. Тези принтери са по-евтин вариант за Officejet принтерите на компанията. Deskjet е създаден за домашна употреба, което означава, че са по-компа
  • разлика между: Разлика между по-млади и стари

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

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

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

Разлика между MPEG4 и MPEG7

Основна разлика: MPEG означава Moving Picture Experts Group. MPEG4 е издаден през 1999 г. и е разработен като метод за кодиране на устройства с ограничени ресурси, предимно преносими устройства като медийни плейъри и мобилни телефони. Този формат често се използва и за онлайн видео и аудио файлове, предимно поточно предаване, както и за разпространение на CD, телефон, видео и телевизионн