Објектно оријентисано програмирање (ООП) је парадигма за креирање програма користећи класе и методе. Реални сценарији се могу пресликати на објекте. Стога је лако градити софтверска решења. Класа је нацрт за изградњу објекта. Садржи својства и методе. На пример, пре стварања предмета ученика, требало би да постоји студент разреда са својствима и методама. Студент може имати својства као што су ид ученика, име и методе попут читања, писања, учења. Методе описују понашање док су својства атрибути. Након креирања класе могуће је креирати објекте користећи их. Стварање објекта је такође познато као Обам Инстантиатион. Објект не постоји изолирано. Они комуницирају с другим објектима, а подаци се преносе унутар објеката. Један стуб ООП-а је наслеђивање. Сврха наслеђивања је повећати поновну употребу кода. То ствара нову класу својстава и метода већ постојеће класе. Постојећа класа је позната као основна класа, а нова класа се назива изведена класа. Вишеструко наслеђивање и наслеђивање са више нивоа су типови наследства. Овај чланак говори о разлици између њих. Тхе кључна разлика између вишеструког и вишеслојног насљеђивања је то Вишеструко наслеђивање је када класа наслеђује од многих основних класа док је вишеслојна наследност када класа наслеђује изведену класу чинећи ту класу базном класом за нову класу.
1. Преглед и кључне разлике
2. Шта је вишеструко насљеђивање
3. Шта је наслеђивање на више нивоа
4. Сличности између вишеслојног и наслеђивања на више нивоа
5. Упоредно упоређивање - Наслеђивање вишеструких у односу на више нивоа у табеларном облику
6. Резиме
Вишеструко насљеђивање је када класа насљеђује више од једне основне класе.
Слика 01: Вишеструко насљеђивање
А Б и Ц су часови. А и Б су основне класе, а Ц је изведена класа. Класа Ц мора да управља зависношћу обе основне класе А и Б. Вишеструко наслеђивање није широко коришћено у софтверским пројектима. То чини систем комплекснијим јер једна класа наслеђује многе класе.
На пример, претпоставимо да обе класе А и Б имају методу истог имена која је збир (), а класа Ц изведе обе класе. Након креирања објекта типа Ц и позива сум () метода може узроковати грешку јер обје класе имају исти метод. Компајлер не зна коју функцију да позове. Стога вишеструко наслеђивање повећава сложеност система. Вишеструко насљеђивање подржано је на језику Ц ++, али језици као што су Јава, Ц # не подржавају вишеструко насљеђивање. Уместо тога, ови језици користе интерфејс који је сличан класи, али се не може инстанцирати.
Наслеђивање на више нивоа је када класа наслеђује изведену класу чинећи ту класу базном класом за нову класу.
Слика 02: Наслеђивање на више нивоа
Вишеслојно насљеђивање има три нивоа. Средња класа коју Б наслеђује од класе А а класа Ц наслеђује од класе Б. А основна класа за Б и Б је основна класа за Ц.
Програм који имплементира Мултилевел Инхеританце је сљедећи. Програм је написан помоћу Јава.
Слика 03: Програм који имплементира мултилевел наследство
Према горњем програму, класа А је основна класа за класу Б. Класа Б је основна класа за класу Ц. Сва својства и методе класе А су доступне класи Б. Сва својства и методе класе Б су доступне по класи Ц. Стога, класа Ц може приступити својствима и методама и А и Б. При креирању објекта типа Ц могуће је позвати све три методе А (), Б () и Ц (). Излаз ће дати А, Б, Ц.
Вишеструко наслеђивање наслеђивање из више нивоа | |
Вишеструко наслеђивање је тип наследства где класа наслеђује од више основних разреда. | Мултилевел Инхеританце је тип наследства који наслеђује изведену класу, чинећи ту изведену класу основном класом за нову класу. |
Употреба | |
Вишеструко наслеђивање није широко коришћено јер систем чини сложенијим. | Вишеслојно наслеђивање се широко користи. |
Нивои класе | |
Вишеструко насљеђивање има два нивоа класе, наиме основну класу и изведену класу. | Наслеђивање на више нивоа има три нивоа класе, наиме основну класу, средњу и изведену класу. |
Насљеђивање је главни стуб објектно оријентираног програмирања. Постоје различите врсте наследства; они су наслеђивање једног нивоа, наслеђивање на више нивоа, вишеструко наслеђивање, хијерархијско наслеђивање и хибридно наследство. Наслеђивање на једном нивоу има једну основну класу и једну изведену класу. Хијерархијско наслеђивање има једну основну класу и много изведених класа. Хибридно наслеђивање је комбинација вишеслојног и вишеструког наследства. У овом чланку описана је разлика између вишеструког насљеђивања и насљеђивања више нивоа. Разлика између вишеслојног и вишеслојног наслеђивања је да је вишеструко наслеђивање када класа наслеђује од многих основних класа док је вишеразинско наслеђивање када класа наслеђује из изведене класе, чинећи ту изведену класу основном класом за нову класу. Вишеслојно насљеђивање се користи широко од вишеструког насљеђивања.
Можете преузети ПДФ верзију овог чланка и користити је за оффлине употребу према напомени. Молимо преузмите ПДФ верзију овде. Разлика између вишеструког и вишеслојног наследства
1.Сингх, Цхаитаниа и др. „Врсте насљеђивања на Јави: једнокреветна, вишеслојна, вишеслојна и хибридна.“ Бегиннерсбоок.цом, 6. децембра 2013. Доступно овде
2.туториалспоинт.цом. „Наслеђивање Јава“. Поента. Доступно овде
1. 'Вишеструко насљеђивање' од Суман Маверицк Гангулиан Суман420 - сопствени рад, (ЦЦ БИ 3.0) преко Цоммонс Викимедиа
2.'Мултилевел наследство 'Аутор: Суман Маверицк Гангулиан Суман420 (разговор) 12:03, 2. марта 2015. (УТЦ) - Властити рад, (ЦЦ БИ 3.0) преко Цоммонс Викимедиа