Разлика между полиморфизма и наследството в OOP

Ключова разлика - Полиморфизъм срещу Наследяване в OOP
 

Обектно-ориентираното програмиране (OOP) обикновено се използва за разработване на софтуер. Много езици за програмиране поддържат обектно-ориентирано програмиране. Обектно-ориентираното програмиране е методология за проектиране на програма с помощта на класове и обекти. Класът в OOP е план за създаване на обект. Класът има свойства и методи. Обектът е екземпляр от клас. OOP съдържа четири стълба като Наследяване, Полиморфизъм, Абстракция и Капсулация. Тази статия обсъжда разликата между полиморфизма и наследството в OOP. Най- ключова разлика между полиморфизма и наследството в OOP е това Полиморфизмът е способността на един обект да се държи по много начини, а Наследяването е да създаде нов клас, използвайки свойства и методи на съществуващ клас.

СЪДЪРЖАНИЕ

1. Преглед и ключова разлика
2. Какво е полиморфизъм в OOP
3. Какво е наследството в OOP
4. Прилики между полиморфизма и наследството в OOP
5. Паралелно сравнение - Полиморфизъм срещу наследяване в OOP в таблична форма
6. Резюме

Какво представлява полиморфизмът в OOP?

Полиморфизмът означава да се обозначават множество форми. Един обект може да има множество поведения. Полиморфизмът може да бъде разделен на две категории. Те са претоварващи и преобладаващи.

Претоварването

Вижте по-долу програмата, написана на Java.

Фигура 01: Претоварване

Според горната програма се създава обект от тип А. Когато се обаждате obj.sum (); той ще даде резултата, свързан с метода sum (). Когато се обаждате на obj.sum (2,3); той ще даде резултата, свързан със сумата (int a, int b). Може да се отбележи, че един и същ обект има различно поведение в зависимост от ситуацията. Когато има няколко метода с едно и също име, но с различни параметри, той е известен като претоварване. Той също е известен като статично свързване или съставете полиморфизъм във времето.

Замяната

Друг вид Полиморфизъм е първостепенни. Вижте по-долу програмата, написана на Java.

Фигура 02: Преодоляване

Според горната програма има метод на дисплея () в клас А. Клас В се простира от клас А. Следователно всички методи в клас А са достъпни от клас Б. Това е наследяване. Концепцията за наследяване е описана по-нататък по-късно.

Клас B също имат същия метод за показване (). При създаване на обект от тип A и извикване на метод за показване, изходът ще даде B. Методът за показване на клас A се отменя от метода на дисплей клас B. И така, изходът е B.

Когато има методи с едно и също име и едни и същи параметри, но в два различни класа и те са свързани с наследяването, то е известно като преодоляване. Той също е известен като Късно свързване, динамично свързване, полиморфизъм по време на изпълнение. Претоварването и преодоляването се наричат ​​Полиморфизъм. Тя е основна концепция в обектно-ориентираното програмиране.

Какво е наследството в OOP?

Вижте по-долу програмата, написана на Java.

Фигура 03: Пример за наследяване

Съгласно горната програма, клас A има метод sum (), а клас B има метод sub ().

Методът sum () на клас A може да се използва в клас B с помощта на ключова дума разширяване. Използването на свойствата и методите в съществуващ клас за създаване на нов клас е известно като Наследяване. Дори няма метод sum () в клас B; наследява се от клас А. Наследяването е полезно за повторно използване на код. По-старият клас се нарича базов клас, суперклас или родителски клас. Полученият клас се нарича подклас или детски клас.

Видове наследяване

Има различни видове наследяване. Те са едностепенно наследяване, наследяване на много нива, множествено наследяване, йерархично наследяване и хибридно наследяване.

Единично наследяване

В Single Inheritance има един супер клас и един подклас. Ако клас 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, B, C и D са класове и B е наследствено от A и D е наследствено от B и C, то това е хибридно наследство.

Какви са приликите между полиморфизма и наследяването в OOP?

  • И двете са концепции за обектно-ориентирано програмиране.

Каква е разликата между полиморфизма и наследяването в OOP?

Полиморфизъм срещу наследство в OOP

Полиморфизмът е способност на обект да се държи по много начини. Наследяването е да се създаде нов клас, като се използват свойства и методи на съществуващ клас.
 употреба
Полиморфизмът се използва за обекти, за да се извика коя форма на методи по време на компилиране и време на изпълнение. Наследяването се използва за повторно използване на код.
изпълнение
Полиморфизмът се прилага в методи. Наследяването се осъществява в класове.
 Категории
Полиморфизмът може да бъде разделен на претоварване и преодоляване. Наследяването може да бъде разделено на едностепенно, многостепенно, йерархично, хибридно и многократно наследяване.

резюме - Полиморфизъм срещу наследство в OOP 

Полиморфизмът и наследяването са основни понятия в обектно-ориентираното програмиране. Разликата между полиморфизма и наследяването в OOP е, че полиморфизмът е общ интерфейс към множество форми и наследяването е да се създаде нов клас, използвайки свойства и методи на съществуващ клас. И двете концепции се използват широко в разработката на софтуер.

Изтеглете PDF полиморфизъм срещу наследство в OOP

Можете да изтеглите PDF версия на тази статия и да я използвате за офлайн цели, съгласно цитираната бележка. Моля, изтеглете PDF версия тук Разлика между полиморфизъм и наследяване в OOP

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