Одинарне наслідування проти множинного спадкування

Автор: Laura McKinney
Дата Створення: 4 Квітень 2021
Дата Оновлення: 15 Травень 2024
Anonim
Одинарне наслідування проти множинного спадкування - Інший
Одинарне наслідування проти множинного спадкування - Інший

Зміст

Ключова відмінність між єдиним успадкуванням і множинним успадкуванням полягає в тому, що при однократному успадкуванні похідний клас успадковує лише один базовий клас, тоді як у множинних спадкових діях похідний клас успадковує більше одного базового класу.


Спадкування - одна з найважливіших концепцій 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. Реалізація коду для декількох спадків є складною порівняно з одиночним успадкуванням.

Ключові відмінності

  1. При однократному успадкуванні похідний клас успадковує лише один базовий клас, тоді як у кількох спадок похідний клас успадковує більше одного базового класу.
  2. Однократне успадкування безпечніше, ніж множинне спадкування, тоді як множинне спадкування не є безпечним для здійснення.
  3. При одинарному успадкуванні ознаки одного класу успадковуються, тоді як у множинному спадкуванні функції множини класів можуть бути успадковані.
  4. Одночасне успадкування вимагає більше часу виконання, тоді як для декількох успадковань потрібно менше часу виконання

Висновок

У цій статті вище ми бачимо явну різницю між єдиним успадкуванням та кількома спадщинами з реалізацією

Пояснювальне відео