Одинарне наслідування проти множинного спадкування
Зміст
- Зміст: Різниця між єдиним спадком і множинним успадкуванням
- Порівняльна діаграма
- Єдине спадкування
- Множинне спадкування
- Ключові відмінності
- Висновок
- Пояснювальне відео
Ключова відмінність між єдиним успадкуванням і множинним успадкуванням полягає в тому, що при однократному успадкуванні похідний клас успадковує лише один базовий клас, тоді як у множинних спадкових діях похідний клас успадковує більше одного базового класу.
Спадкування - одна з найважливіших концепцій OOP, це об'єктно-орієнтоване програмування. Поняття повторного використання підтримується у спадок. Повторність використання означає, що новий клас повторно використовує властивості вже існуючого класу. У похідному класі спадкування успадковує базовий клас та доступ, специфікатор вирішує, який член базового класу буде успадкований. Існують типи успадкування, які є єдиним спадком, ієрархічним успадкуванням, багаторівневим успадкуванням і гібридним успадкуванням. При однократному успадкуванні похідний клас успадковує лише один базовий клас, тоді як у кількох спадок похідний клас успадковує більше одного базового класу.
Існує лише один похідний клас, який успадковується від базового класу. Існує три способи успадкування базового класу, який є публічним, захищеним та приватним. Специфікатор доступу використовується для успадкування базового класу. Причиною єдиного успадкування є успадкування властивостей та поведінки від одного батьківського класу. Основна мета об'єктно-орієнтованого програмування - повторне використання коду, виконується за допомогою єдиного успадкування. Якщо ми говоримо про одне успадкування в порівнянні з множинним успадкуванням, ніж одинакове успадкування повинно бути легше порівняно з множинним успадкуванням. Переопределення функції використовується при однократному успадкуванні. Поліморфізм під час роботи відомий як переважаючий. Переопределення досягається за допомогою функціонального ключового слова, яке є віртуальним. Це ключове слово використовується в базовому класі. Коли похідний клас переосмислить функцію, перетворену функцію неможливо змінити. Переопределення в C ++ визначає те, яка версія функції називається. Поодиноке успадкування використовується на C ++, Java, PHP, C # та візуальній основі.
Багатократне успадкування дозволяє отримати більше ніж один базовий клас, це означає, що ви можете отримати властивості більш ніж одного базового класу. У нас може бути один похідний клас і кілька базових класів. Базовий клас успадковується шляхом згадування окремого специфікатора доступу. Множинне успадкування має симетричне злиття та асиметричне розширення. За наявності шаблону адаптера використовується множинне спадкування. Множинне успадкування використовується в C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Реалізація коду для декількох спадків є складною порівняно з одиночним успадкуванням.
Зміст: Різниця між єдиним спадком і множинним успадкуванням
- Порівняльна діаграма
- Єдине спадкування
- Множинне спадкування
- Ключові відмінності
- Висновок
- Пояснювальне відео
Порівняльна діаграма
Основа | Єдине спадкування | Множинне спадкування |
Значення | При одиночному успадкуванні похідний клас успадковує лише один базовий клас | У кількох спадок похідний клас успадковує більше одного базового класу.
|
Безпечний | Однократне успадкування безпечніше, ніж множинне спадкування | Кілька спадкових відносин не є безпечними для здійснення |
Доступ | В одинарному спадкуванні успадковуються особливості одного класу | При множинному успадкуванні можуть бути успадковані функції декількох класів |
Час виконання | Одиночне успадкування вимагає більше часу виконання | Багаторазове успадкування вимагає менше часу на виконання |
Єдине спадкування
Існує лише один похідний клас, який успадковується від базового класу. Існує три способи успадкування базового класу, який є публічним, захищеним та приватним. Специфікатор доступу використовується для успадкування базового класу. Причиною єдиного успадкування є успадкування властивостей та поведінки від одного батьківського класу. Основна мета об'єктно-орієнтованого програмування - повторне використання коду, виконується за допомогою єдиного успадкування. Якщо ми говоримо про одне успадкування порівняно з кількома спадками, ніж одиничне успадкування повинно бути легше порівняно з кількома спадками. Переопределення функції використовується при однократному успадкуванні. Поліморфізм під час роботи відомий як переважаючий. Переопределення досягається за допомогою функціонального ключового слова, яке є віртуальним. Це ключове слово використовується в базовому класі. Коли похідний клас переосмислить функцію, перетворену функцію неможливо змінити. Переопределення в C ++ визначає те, яка версія функції називається. Поодиноке успадкування використовується на C ++, Java, PHP, C # та візуальній основі.
Множинне спадкування
Кілька спадкових можливостей дозволяють отримати більш ніж один базовий клас, це означає, що ви можете отримати властивості більш ніж одного базового класу. У нас може бути один похідний клас і кілька базових класів. Базовий клас успадковується шляхом згадування окремого специфікатора доступу. Множинні спадщини мають симетричне злиття та асиметричне розширення. Коли є схема адаптера, використовується декілька спадкових даних. Множинні спадщини використовуються в C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Реалізація коду для декількох спадків є складною порівняно з одиночним успадкуванням.
Ключові відмінності
- При однократному успадкуванні похідний клас успадковує лише один базовий клас, тоді як у кількох спадок похідний клас успадковує більше одного базового класу.
- Однократне успадкування безпечніше, ніж множинне спадкування, тоді як множинне спадкування не є безпечним для здійснення.
- При одинарному успадкуванні ознаки одного класу успадковуються, тоді як у множинному спадкуванні функції множини класів можуть бути успадковані.
- Одночасне успадкування вимагає більше часу виконання, тоді як для декількох успадковань потрібно менше часу виконання
Висновок
У цій статті вище ми бачимо явну різницю між єдиним успадкуванням та кількома спадщинами з реалізацією