Разлика између полиморфизма и наследства у ООП-у

Кључна разлика - Полиморфизам и наслеђивање у ООП-у
 

Објектно оријентисано програмирање (ООП) обично се користи за развој софтвера. Многи језици програмирања подржавају објектно оријентисано програмирање. Објектно оријентисано програмирање је методологија за дизајн програма користећи класе и објекте. Класа у ООП-у је нацрт за креирање објекта. Класа има својства и методе. Објект је инстанца класе. ООП садржи четири стуба као што су наследност, полиморфизам, апстракција и инкапсулација. Овај чланак говори о разлици између полиморфизма и наследства у ООП-у. Тхе кључна разлика између полиморфизма и наследства ООП-а је то Полиморфизам је способност објекта да се понаша на више начина, а наслеђивање је да створи нову класу користећи својства и методе постојеће класе.

САДРЖАЈ

1. Преглед и кључне разлике
2. Шта је полиморфизам у ООП-у
3. Шта је наслеђивање у ООП-у
4. Сличности између полиморфизма и наследства у ООП-у
5. Упоредно упоређивање - Полиморфизам и наслеђивање у ООП-у у табеларном облику
6. Резиме

Шта је полиморфизам у ООП-у?

Полиморфизам означава више облика. Један објект може имати више понашања. Полиморфизам се може поделити у две категорије. Они су преоптерећени и надјачани.

Преоптерећење

Погледајте доњи програм написан на Јави.

Слика 01: Преоптерећење

Према горе наведеном програму, креира се објект типа А. Када зовете обј.сум (); дат ће излаз везан за методу сум (). Када зовете обј.сум (2,3); даће излаз који се односи на суму (инт а, инт б). Може се приметити да исти објект има различита понашања у зависности од ситуације. Када постоји више метода са истим именом, али са различитим параметрима, зна се као преоптерећење. Такође је позната и као статичко везивање или саставити полиморфизам времена.

Превладавајући

Друга врста полиморфизма је превладавајући. Погледајте доњи програм написан на Јави.

Слика 02: Превладавање

Према горе наведеном програму, постоји метода приказа () у класи А. Класа Б се протеже од класе А. Према томе, све методе у класи А су доступне у класи Б. То је наследство. Концепт наслеђивања је касније описан.

Класа Б такође има исту методу приказа (). Приликом креирања објекта типа А и позивања методе приказа, излаз ће дати Б. Метода приказа класе А превладава методом приказа класе Б. Дакле, излаз је Б.

Када постоје методе са истим именом и истим параметрима, али у две различите класе, а повезане су са наследством, познато је као превладавање. Такође је позната и као Касно везивање, динамичко везивање, полиморфизам извођења. Преоптерећење и прегласавање називамо полиморфизмом. То је главни концепт објектно оријентисаног програмирања.

Шта је наслеђивање у ООП-у?

Погледајте доњи програм написан на Јави.

Слика 03: Пример наследства

Према горе наведеном програму, класа А има суму метода (), а класа Б методу суб ().

Метода сума () класе А може се користити у класи Б помоћу кључне речи ектенс. Поновна употреба својстава и метода у постојећој класи да би се створила нова класа позната је под називом Наслеђивање. Чак ни не постоји метода сум () у класи Б; наслеђује се од класе А. Наслеђивање је корисно за поновну употребу кода. Старија класа се зове основна класа, суперкласа или родитељска класа. Деривирана класа назива се подразред или дечји разред.

Врсте наследства

Постоје различите врсте наследства. То су наслеђивање на једном нивоу, наследство на више нивоа, вишеструко наслеђивање, хијерархијско наследство и хибридно наследство.

Једно наслеђивање

У Сингле Инхеританце постоји једна супер класа и једна подкласа. Ако је класа А супер класа, а класа Б подкласа, сва својства и методе класе А могу бити доступне класи Б. Постоји само један ниво; стога се назива насљеђивањем на једном нивоу.

Наслеђивање на више нивоа

У наслеђивању на више нивоа постоје три нивоа класе. Средња класа наслеђује од супер класе. Под класа наслеђује од средње класе. Ако постоје три класе као А, Б и Ц и А је супер класа, а Б је средња класа. Тада Б наслеђује од А, а Ц наслеђује од Б, то је наследство на више нивоа.

Вишеструко наслеђивање

У Мултипле Инхеританце постоји много супер класа и једна подкласа. Ако постоје три супер класе које се називају А, Б, Ц и Д је подкласа, тада класа Д може да наследи од А, Б и Ц. Вишеструко наслеђивање је подржано у програмском језику Ц ++. Није подржан у програмским језицима као што су Јава или Ц #. Интерфејси се користе за имплементацију вишеструког насљеђивања на овим језицима.

Хијерархијско наслеђивање

Ако постоје класе које се називају А као супер класе и Б, Ц су подкласе, те подкласе могу наследити својства и методе класе А. Та врста наслеђивања позната је као хијерархијско наслеђивање.

Хибридно наследство

Постоји још један посебан тип наслеђивања који је познат као хибридно наследство. То је комбинација вишеслојног и вишеструког наследства. Ако су А, Б, Ц и Д класе и Б наслеђује од А, а Д наслеђује и од Б и Ц, онда је то хибридно наследство.

Које су сличности између полиморфизма и наследства у ООП-у?

  • Оба су концепта објектно оријентисаног програмирања.

Која је разлика између полиморфизма и наследства у ООП-у?

Полиморфизам и наслеђивање у ООП-у

Полиморфизам је способност објекта да се понаша на више начина. Наслеђивање је креирање нове класе коришћењем својстава и метода постојеће класе.
 Употреба
Полиморфизам се користи за објекте којима се може позвати који облик метода је у току и током извршења. Наслеђивање се користи за поновну употребу кода.
Имплементација
Полиморфизам се примењује у методама. Наслеђивање се примењује у часовима.
 Категорије
Полиморфизам се може поделити на преоптерећење и преоптерећење. Наслеђивање се може поделити на једнонаменско, вишеслојно, хијерархијско, хибридно и вишеструко наследство.

Резиме - Полиморфизам и наслеђивање у ООП-у 

Полиморфизам и насљеђивање главни су појмови у објектно оријентираном програмирању. Разлика између полиморфизма и наследства у ООП-у је у томе што је полиморфизам уобичајено сучеље вишеструких облика, а наслеђивање је да се створи нова класа користећи својства и методе постојеће класе. Оба концепта се широко користе у развоју софтвера.

Преузмите ПДФ Полиморфизам и наслеђивање у ООП-у

Можете преузети ПДФ верзију овог чланка и користити је за оффлине употребу према напомени. Молимо преузмите ПДФ верзију овде. Разлика између полиморфизма и наследства у ООП-у

Референце:
  1. 8.3 Шта је наслеђивање у Јави | Предавање | Приручник, Телуско учење, 15. маја 2014. Доступно овде  
  2. Полиморфизам у Јава Туториалу, Телуско учење, 15. маја 2014. Доступно овде