Обектно-ориентираното програмиране (OOP) е парадигма за проектиране на програма, използвайки класове и методи. Реалните сценарии могат да бъдат картографирани към обекти. Следователно е лесно да се изграждат софтуерни решения. Класът е план за изграждане на обект. Той съдържа свойства и методи. Например, преди да създадете студентски обект, трябва да има ученик в клас със свойства и методи. Студентът може да има свойства като идентификатор на ученик, име и методи като четене, писане, изучаване. Методите описват поведението, докато свойствата са атрибутите. След създаването на класа е възможно да се създават обекти, като се използват тях. Създаването на обект е известно още като Instanttiation на обекта. Обект не съществува изолирано. Те общуват с други обекти и данните се предават в рамките на обекти. Един стълб на OOP е Наследяването. Целта на Наследяването е да се увеличи повторното използване на кода. Той създава нов клас свойства и методи на вече съществуващия клас. Съществуващият клас е известен като базов клас, а новият клас се нарича производен клас. Множественото наследяване и многостепенното наследяване са видове наследяване. Тази статия обсъжда разликата между тях. Най- ключова разлика между множественото и многостепенното наследяване е това Множественото наследяване е, когато клас наследява от много базови класове, докато многостепенното наследяване е, когато клас наследява от производен клас, което прави този производен клас базов клас за нов клас.
1. Преглед и ключова разлика
2. Какво е множествено наследяване
3. Какво е многостепенно наследяване
4. Прилики между множественото и многостепенното наследяване
5. Паралелно сравнение - Множество срещу многостепенно наследяване в таблична форма
6. Резюме
Множественото наследяване е, когато клас наследи повече от един базов клас.
Фигура 01: Множество наследяване
A B и C са класове. A и B са базови класове, а C е производният клас. Клас C трябва да управлява зависимостта на двата базови класа A и B. Множеството наследства не се използват широко в софтуерните проекти. Това прави системата по-сложна, защото един клас наследява много класове.
Например, приемете, че и двата класа A и B имат метод със същото име, което е сумата (), а клас C извежда и двата класа. След създаването на обект от тип C и извикване sum () методът може да причини грешка, защото и двата класа имат един и същ метод. Компилаторът не знае коя функция да се обади. Следователно множественото наследяване увеличава сложността на една система. Множественото наследяване се поддържа на език C ++, но езици като Java, C # не поддържат множествено наследяване. Вместо това тези езици използват интерфейс, който е подобен на клас, но не може да бъде създаден.
Многостепенното наследяване е, когато клас наследява от производен клас, което прави този производен клас базов клас за нов клас.
Фигура 02: Многостепенно наследяване
Многостепенното наследяване има три нива. Междинният клас, който B наследява от клас A, а клас C наследява от клас B. A е базовият клас за B, а B е базовият клас за C.
Програма, която реализира многостепенно наследяване, е следната. Програмата се пише с помощта на Java.
Фигура 03: Програма, която реализира многостепенно наследяване
Съгласно горната програма, клас А е базовият клас за клас Б. Клас В е базовият клас за клас С. Всички свойства и методи на клас А са достъпни от клас Б. Всички свойства и методи от клас В са достъпни от клас В. Следователно клас C има достъп до свойства и методи както на A, така и при B. При създаване на обект от тип C е възможно да се извикат и трите метода A (), B () и C (). Изходът ще даде A, B, C.
Множествено наследяване срещу многостепенно наследяване | |
Множественото наследяване е тип Наследяване, при което клас наследява от повече от един базов клас. | Многостепенното наследяване е тип Наследяване, което наследява от производен клас, което прави този производен клас базов клас за нов клас. |
употреба | |
Множественото наследяване не се използва широко, защото прави системата по-сложна. | Многостепенното наследяване е широко използвано. |
Нива на класа | |
Множественото наследяване има две нива на клас, а именно базов клас и производен клас. | Многостепенното наследяване има три нива на клас, а именно базов клас, междинен клас и производен клас. |
Наследяването е основен стълб на обектно-ориентираното програмиране. Има различни видове Наследяване; те са едностепенно наследяване, наследяване на много нива, множествено наследяване, йерархично наследяване и хибридно наследяване. Наследяването на едно ниво има един базов клас и един производен клас. Йерархичното наследство има един основен клас и много производни класове. Хибридното наследяване е комбинация от многостепенно и множествено наследяване. Тази статия описва разликата между множествено наследяване и многостепенно наследяване. Разликата между множественото и многостепенното наследяване е, че множественото наследяване е, когато клас наследява от много базови класове, докато многостепенното наследяване е, когато клас наследява от производен клас, превръщайки този производен клас в базов клас за нов клас. Многостепенното наследяване е широко използвано от множественото наследяване.
Можете да изтеглите PDF версия на тази статия и да я използвате за офлайн цели, съгласно цитираната бележка. Моля, изтеглете PDF версия тук Разлика между множествено и многостепенно наследяване
1. Синг, Чайтаня и др. „Видове наследяване в Java: Единично, множествено, многостепенно и хибридно.“ Beginnersbook.com, 6 декември 2013. Достъпно тук
2.tutorialspoint.com. „Наследяване на Java.“ Точката. Налични тук
1. 'Множествено наследяване' от Суман Маверик Gangulian Suman420 - Собствена работа, (CC BY 3.0) през Commons Wikimedia
2. 'Многонационално наследяване' Автор: Suman Maverick Gangulian Suman420 (беседа) 12:03, 2 март 2015 (UTC) - Собствена работа, (CC BY 3.0) чрез Commons Wikimedia