Різниця між множинним і багаторівневим спадком

Ключова різниця - множинне та багаторівневе спадкування
 

Об'єктно-орієнтоване програмування (OOP) - парадигма проектування програми з використанням класів та методів. Сценарії реального світу можна відобразити на об’єктах. Тому будувати програмні рішення легко. Клас - це креслення для побудови об'єкта. Він містить властивості та методи. Наприклад, перед створенням об’єкта для учнів повинен бути учень класу зі властивостями та методами. Студент може мати такі властивості, як ідентифікатор студента, ім'я та методи, такі як читання, запис, вивчення. Методи описують поведінку, а властивості - атрибути. Після створення класу можна створити об’єкти, використовуючи їх. Створення об'єкта також відоме як «Огляд об’єкта». Об'єкт не існує ізольовано. Вони спілкуються з іншими об'єктами і дані передаються всередині об'єктів. Один стовп ООП - це спадщина. Мета Успадкування - збільшити багаторазове використання коду. Він створює новий клас властивостей і методів вже існуючого класу. Існуючий клас відомий як базовий клас, а новий клас називається похідним класом. Багатократне спадкування і багаторівневе спадкування - це типи спадкування. У цій статті йдеться про різницю між ними. The ключова різниця між множинним і багаторівневим спадком є ​​те, що Множинне спадкування - це коли клас успадковує від багатьох базових класів, тоді як багаторівневе успадкування - це коли клас успадковує похідний клас, роблячи цей похідний клас базовим класом для нового класу.

ЗМІСТ

1. Огляд та ключові відмінності
2. Що таке множинне спадкування
3. Що таке багаторівневе спадкування
4. Подібність між множинним та багаторівневим спадкуванням
5. Порівняльне порівняння - множинне та багаторівневе спадкування в табличній формі
6. Підсумок

Що таке множинне спадкування?

Множинне спадкування - це коли клас успадковує більше одного базового класу.

Малюнок 01: Множинне спадкування

А В і С - це заняття. 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: Програма, яка реалізує багаторівневе спадкування

Відповідно до вищезгаданої програми, клас A є базовим класом для класу B. Клас B - базовий клас для класу C. Усі властивості та методи класу A доступні класу B. Усі властивості та методи класу B доступні класу C. Отже, клас C може отримати доступ до властивостей і методів як A, так і B. При створенні об'єкта типу C можна викликати всі три методи A (), B () і C (). Вихід дасть A, B, C.

Яка схожість між множинним та багаторівневим спадком?

  • Обидва є типом спадкування.

Яка різниця між множинним і багаторівневим спадком?

Множинне спадкування проти багаторівневого спадкування

Множинне спадкування - це тип спадкування, коли клас успадковує від більш ніж одного базового класу. Багаторівневе успадкування - це тип спадкування, який успадковується від похідного класу, що робить цей похідний клас базовим класом для нового класу.
 Використання
Множинне спадкування не використовується широко, оскільки робить систему більш складною. Багаторівневе успадкування широко використовується.
Рівень класів
Множинне спадкування має два рівні класу, а саме базовий клас та похідний клас. Багаторівневе спадкування має три рівні класу, а саме базовий клас, проміжний клас та похідний клас.

Підсумок - Множинне проти багаторівневого спадкування

Спадщина - це головний стовп об'єктно-орієнтованого програмування. Існують різні види успадкування; це однорівневе спадкування, багаторівневе спадкування, множинне спадкування, ієрархічне спадкування та гібридне спадкування. Однонаціональне спадкування має один базовий клас та один похідний клас. Ієрархічне спадкування має один базовий клас та багато похідних класів. Гібридна спадщина - це поєднання багаторівневого та множинного спадкування. У цій статті описана різниця між множинним спадком і багаторівневим спадком. Різниця між множинними та багаторівневими спадками полягає в тому, що множинне спадкування - це коли клас успадковує від багатьох базових класів, тоді як багаторівневе спадкування - це коли клас успадковує від похідного класу, роблячи цей похідний клас базовим класом для нового класу. Багаторівневе успадкування широко використовується, ніж множинне спадкування.

Завантажте PDF Множина проти багаторівневого спадкування

Ви можете завантажити PDF-версію цієї статті та використовувати її в офлайн-цілях відповідно до примітки. Завантажте тут версію PDF тут Різниця між множинним та багаторівневим спадком

Довідка:

1. Сінг, Чайтанья та ін. "Типи успадкування на Яві: одиночне, багаторазове, багаторівневе та гібридне". Beginnersbook.com, 6 грудня 2013. Доступно тут
2.tutorialspoint.com. «Спадщина Java». Точка. Доступний тут 

Надано зображення:

1. 'Багаторазове спадкування' від Сумана Маверика Гангуляна Суман420 - власна робота, (CC BY 3.0) через Вікісховище 
2. 'Наслідування багаторівневої діяльності' Автор: Suman Maverick Gangulian Suman420 (розмова) 12:03, 2 березня 2015 (UTC) - Власна робота, (CC BY 3.0) через Commons Wikimedia