Різниця між поліморфізмом та спадщиною в ООП

Ключова різниця - Поліморфізм проти спадкування в ООП
 

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

ЗМІСТ

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

Що таке поліморфізм в ООП?

Поліморфізм означає позначення декількох форм. Один об’єкт може мати декілька типів поведінки. Поліморфізм можна розділити на дві категорії. Вони перевантажують і переважають.

Перевантаження

Дивіться програму нижче, написану на Java.

Малюнок 01: Перевантаження

Відповідно до вищевказаної програми створюється об’єкт типу A. При дзвінку obj.sum (); він дасть результат, пов'язаний з методом sum (). При виклику obj.sum (2,3); він дасть результат, пов'язаний з сумою (int a, int b). Можна помітити, що один і той же об’єкт має різну поведінку залежно від ситуації. Коли існує кілька методів з однаковою назвою, але з різними параметрами, це відомо як перевантаження. Він також відомий як статичне зв'язування або скласти поліморфізм часу.

Переважаючий

Інший тип поліморфізму - це переважаючий. Дивіться програму нижче, написану на Java.

Малюнок 02: Переосмислення

Згідно з вищенаведеною програмою, існує метод відображення () у класі А. Клас В поширюється на клас А. Тому всі методи класу А доступні класу В. Це спадкування. Концепція спадкування описана далі пізніше.

Клас B також має такий же спосіб відображення (). Під час створення об'єкта типу A і виклику методу відображення виведення дасть B. Метод відображення класу A переосмислюється методом відображення класу B. Отже, вихід B.

Коли існують методи з однаковою назвою та однаковими параметрами, але у двох різних класах, і вони пов'язані з успадкуванням, це відомо як переосмислення. Він також відомий як Пізнє зв'язування, динамічне зв'язування, поліморфізм виконання. Перевантаження і переосмислення називаються поліморфізмом. Це основна концепція об'єктно-орієнтованого програмування.

Що таке спадкування в ООП??

Дивіться програму нижче, написану на Java.

Малюнок 03: Приклад успадкування

Відповідно до вищезгаданої програми, клас A має метод sum (), а клас B має метод sub ().

Метод суми () класу А може бути використаний у класі В, використовуючи ключове слово розширення. Повторне використання властивостей та методів у існуючому класі для створення нового класу відоме як Спадництво. Навіть у класі B немає методу sum (); він успадковується від класу А. Спадщина корисна для повторного використання коду. Старший клас називається базовий клас, суперклас або батьківський клас. Похідний клас називається підклас або дитячий клас.

Види спадкування

Існують різні види успадкування. Це однорівневе спадкування, багаторівневе спадкування, множинне спадкування, ієрархічне спадкування та гібридне спадкування.

Єдине спадкування

У Single спадкуванні є один суперклас і один підклас. Якщо клас A - це суперклас, а клас B - підклас, то всі властивості та методи класу A доступні класу B. Є лише один рівень; тому його називають однорівневим успадкуванням.

Багаторівневе спадкування

У багаторівневому спадкуванні є три рівні класів. Проміжний клас успадковується від суперкласу. Підклас успадковується від проміжного класу. Якщо є три класи, як A, B і C, а A - це суперклас, а B - проміжний клас. Тоді B успадковує від A, а C успадковує від B, це багаторівневе спадкування.

Множинне спадкування

У множинному спадкуванні є багато суперкласів і один підклас. Якщо є три суперкласи, які називаються A, B, C і D є підкласом, то клас D може успадковувати від A, B і C. Множинне спадкування підтримується мовою програмування C ++. Він не підтримується мовами програмування, такими як Java або C #. Інтерфейси використовуються для реалізації множинних успадкувань цими мовами.

Ієрархічна спадщина

Якщо є класи, які називаються A як суперкласи, а B, C - підкласи, ці підкласи можуть успадковувати властивості та методи класу A. Цей тип успадкування відомий як ієрархічне спадкування.

Гібридне спадкування

Існує ще один особливий тип успадкування, який відомий як гібридне спадкування. Це поєднання багаторівневого та багаторазового спадкування. Якщо A, B, C і D - класи, а B успадковує від A, а D успадковує як B, так і C, то це спадкування гібридів.

Які подібності між поліморфізмом та спадщиною в ООП?

  • Обидва є поняттями об'єктно-орієнтованого програмування.

Яка різниця між поліморфізмом та спадщиною в ООП?

Поліморфізм проти спадкування в ООП

Поліморфізм - це здатність об’єкта вести себе в декількох напрямках. Спадкування - це створити новий клас, використовуючи властивості та методи існуючого класу.
 Використання
Поліморфізм використовується для об'єктів для виклику якої форми методів під час компіляції та часу виконання. Спадкування використовується для повторного використання коду.
Впровадження
Поліморфізм реалізований методами. Спадкування реалізується на заняттях.
 Категорії
Поліморфізм можна розділити на перевантажувальний і переважаючий. Спадкування можна розділити на однорівневе, багаторівневе, ієрархічне, гібридне та багатократне успадкування.

Підсумок - Поліморфізм проти спадкування в ООП 

Поліморфізм та спадкування - основні поняття в об'єктно-орієнтованому програмуванні. Різниця між поліморфізмом та спадщиною в OOP полягає в тому, що поліморфізм є загальним інтерфейсом для декількох форм, а спадкування полягає у створенні нового класу, використовуючи властивості та методи існуючого класу. Обидві концепції широко використовуються в розробці програмного забезпечення.

Завантажте PDF Поліморфізм проти спадкування в OOP

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

Довідка:
  1. 8.3 Що таке спадкування в Java | Лекція | Навчальний посібник, Телусько, 15 травня 2014 р. Доступний тут  
  2. Поліморфізм у навчальному посібнику Java, Телусько, 15 травня 2014 р. Доступний тут