Ключова разлика - Полиморфизъм срещу наследяване в ООП
Обектно-ориентираното програмиране (OOP) обикновено се използва за разработване на софтуер. Много езици за програмиране поддържат обектно-ориентирано програмиране. Обектно-ориентираното програмиране е методология за проектиране на програма, използваща класове и обекти. Класът в ООП е план за създаване на обект. Един клас има свойства и методи. Обектът е екземпляр на клас. OOP съдържа четири стълба като наследяване, полиморфизъм, абстракция и капсулиране. Тази статия разглежда разликата между полиморфизма и наследяването в ООП. Ключовата разлика между полиморфизма и наследяването в ООП е, че полиморфизмът е способността на обекта да се държи по много начини, а наследяването е да създава нов клас, използвайки свойства и методи на съществуващ клас.
СЪДЪРЖАНИЕ
1. Общ преглед и ключова разлика
2. Какво е полиморфизъм в ООП
3. Какво е наследяване в ООП
4. Прилики между полиморфизъм и наследяване в ООП
5. Равно до сравнение - Полиморфизъм срещу наследяване в ООП в таблична форма
6. Обобщение
Какво е полиморфизъм в ООП?
Полиморфизмът е да обозначава множество форми. Един обект може да има множество поведения. Полиморфизмът може да бъде разделен на две категории. Те претоварват и отменят.
Претоварване
Вижте долната програма, написана на Java.
Фигура 01: Претоварване
Според горната програма се създава обект от тип А. При извикване на obj.sum (); ще даде изхода, свързан с метода sum (). При извикване на obj.sum (2,3); ще даде изхода, свързан със сумата (int a, int b). Може да се забележи, че един и същ обект има различно поведение в зависимост от ситуацията. Когато има множество методи с едно и също име, но с различни параметри, това е известно като претоварване. Известен е също като статично свързване или полиморфизъм във времето на компилация.
Замяна
Друг тип полиморфизъм е надмощен. Вижте долната програма, написана на Java.
Фигура 02: Замяна
Според горната програма има метод display () в клас A. Клас B се простира от клас A. Следователно всички методи в клас A са достъпни от клас B. Той е наследяване. Концепцията за наследяване е описана допълнително по-късно.
Клас B също има същия метод display (). Когато създавате обект от тип А и извиквате метод на показване, изходът ще даде B. Методът на показване на клас А е заменен от метода на показване на клас Б. И така, изходът е B.
Когато има методи с едно и също име и едни и същи параметри, но в два различни класа и те са свързани с наследяване, това е известно като заместване. Известен е още като Късно свързване, Динамично свързване, Полиморфизъм по време на работа. Претоварването и отменянето се наричат полиморфизъм. Това е основна концепция в обектно-ориентираното програмиране.
Какво е наследяване в ООП?
Вижте долната програма, написана на Java.
Фигура 03: Пример за наследяване
Според горната програма клас A има метод sum (), а клас B има метод sub ().
Методът sum () от клас A може да се използва в клас B, използвайки ключова дума extension. Повторното използване на свойствата и методите в съществуващ клас за създаване на нов клас е известно като наследяване. Дори няма метод sum () в клас B; тя е наследена от клас А. Наследяването е полезно за повторната употреба на кода. По-старият клас се нарича основен клас, суперклас или родителски клас. Полученият клас се нарича подклас или дъщерен клас.
Видове наследяване
Има различни видове наследяване. Те са наследяване на едно ниво, наследяване на няколко нива, множествено наследяване, йерархично наследяване и хибридно наследяване.
Единично наследяване
В единичното наследяване има един супер клас и един подклас. Ако клас 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, тогава това е хибридно наследство.
Какви са приликите между полиморфизма и наследяването в ООП?
И двете са концепции за обектно ориентирано програмиране
Каква е разликата между полиморфизма и наследяването в ООП?
Различна статия Средна преди таблица
Полиморфизъм срещу наследяване в ООП |
|
Полиморфизмът е способността на обекта да се държи по много начини. | Наследяването е да се създаде нов клас, като се използват свойства и методи на съществуващ клас. |
Употреба | |
Полиморфизмът се използва за обекти, които да извикват коя форма на методи по време на компилиране и време на изпълнение. | Наследството се използва за повторна употреба на кода. |
Изпълнение | |
Полиморфизмът се прилага в методи. | Наследяването се прилага в класове. |
Категории | |
Полиморфизмът може да бъде разделен на претоварване и замяна. | Наследството може да бъде разделено на едно ниво, многостепенно, йерархично, хибридно и множествено наследяване. |
Резюме - Полиморфизъм срещу наследяване в ООП
Полиморфизмът и наследяването са основни понятия в обектно-ориентираното програмиране. Разликата между полиморфизма и наследяването в ООП е, че полиморфизмът е често срещан интерфейс към множество форми, а наследяването е да се създаде нов клас, като се използват свойства и методи на съществуващ клас. И двете концепции са широко използвани в разработването на софтуер.
Изтеглете PDF Полиморфизъм срещу наследяване в ООП
Можете да изтеглите PDF версия на тази статия и да я използвате за офлайн цели според бележката към цитата. Моля, изтеглете PDF версия тук Разлика между полиморфизма и наследяването в ООП