Обектно-ориентираното програмиране (OOP) е основна парадигма в разработването на софтуер. Това е методология за проектиране на програма, като се използват класове и обекти. Класът е план. Той описва какво трябва да съдържа в обекта. Той определя свойствата или атрибутите и методите, от които обектът трябва да се състои. Следователно един обект е екземпляр от клас. Тези обекти комуникират с други обекти. Една от основните концепции на OOP е полиморфизмът. Това е способността на един обект да се държи по много начини. Полиморфизмът се категоризира в два раздела, които са претоварващи и преобладаващи. Тази статия обсъжда разликата между тези две в Java. Най- ключова разлика между претоварване и презаписване в Java е, че Претоварването е способността да се създават множество методи с едно и също име с различни реализации, а Overriding е да се осигури изпълнение за метод на подклас, който вече съществува в надклас.
1. Преглед и ключова разлика
2. Какво е претоварване в Java
3. Какво е преимуществено в Java
4. Прилики между претоварването и преодоляването на Java
5. Паралелно сравнение - Претоварване срещу преодоляване на Java в таблична форма
6. Резюме
Претоварването е способността да се създават множество методи с едно и също име с различни реализации. Вижте по-долу Java код.
Фигура 01: Java програма, която обяснява Претоварването с различен брой аргументи
Според горната програма, клас A съдържа два метода със същото име. Методът на първата сума има два параметъра. Методът на втората сума има три параметъра. Когато създавате обект от тип A и сума за извикване (2,3), той ще извика метода на сумата с два параметъра, които са сума (int a, int b) и връща 5. При създаване на обект от тип A и сума за повикване (2 , 3,4), той ще извика другия метод на сумата с три параметъра, който е сумата (int a, int b, int c) и връща 9.
Името на метода е едно и също, но броят на параметрите са различни. Може да се наблюдава, че един и същ обект се държи различно. Тази концепция е известна като претоварване. Той също е посочен като Статично свързване или Съставя полиморфизъм във времето.
Също така може да се претовари с различни типове данни. Вижте по-долу Java код.
Фигура 02: Java програма, която обяснява Претоварването с различен брой аргументи
Според горната програма, клас A се състои от два метода със същото име. Методът sum (int a, int b) получава две цели числа. Сумата (двойно двойно b) получава две двойни стойности. Когато създавате обекта от тип A и сума за повикване (2,3), той ще извика сума (int a, int b) и ще върне стойността 5. Когато извиква сума (3.4, 5.6), ще извика сума (удвоете двойно б) и върнете стойността 9.0. В този пример методите имат същото име, но различен тип променливи. Това също е претоварващо.
В Java е възможно да се изграждат подкласове с вече съществуващи класове. Вместо да създавате новия клас от самото начало, е възможно да използвате свойствата и методите на вече съществуващия клас. Съществуващият клас е суперкласът, а производният клас е подкласът. Когато подкласът предоставя реализация за метод, който вече е в суперкласа, той е известен като превъзхождащ. Вижте по-долу Java програмата.
Фигура 03: Java програма за отмяна
Според горната програма, клас A има метод на показване (). Клас B се простира от клас A, така че свойствата и методите на клас A са достъпни от клас B. Клас B има метод display () със специфична реализация. При създаване на обект от тип A и извикване на метода за показване той ще даде изход B. Въпреки че клас A има метод на показване, той се отменя да бъде метод на дисплей клас B. Подкласът реализира метод, който вече съществува в надклас.
Тази концепция е вид полиморфизъм и известна като преобладаваща. Нарича се още като Късно обвързване, Динамично свързване, Полиморфизъм по време на работа.
Претоварване срещу Overriding в Java | |
Претоварването в Java е способността да се създават множество методи с едно и също име с различни реализации. | Преопределянето в Java предоставя специфична реализация в метода на подклас за метод, който вече съществува в свръхкласа. |
Параметри | |
При претоварване методите имат едно и също име, но различен брой параметри или различен тип параметри. | При преодоляване методите имат едно и също име и параметрите трябва да са еднакви. |
Теми | |
Претоварването става в рамките на класа. | Преодоляването се случва в двата класа, които имат наследствена връзка. |
Синоними | |
Претоварването се нарича компилиран полиморфизъм във времето. | Преодоляването се нарича полиморфизъм на времето. |
Полиморфизмът е основна концепция в обектно-ориентираното програмиране. Тя осигурява способността на един обект да се държи по много начини. Това може да бъде или претоварване, или преимущество. Претоварването е полиморфизъм във времето на компилиране, а преимуществото е полиморфизмът по време на работа. Те са полезни при разработването на софтуерни приложения. Разликата между презаписване и претоварване е, че Overloading е способността да се създават множество методи с едно и също име с различни реализации, а Overriding предоставя специфична реализация в метода на подклас за метод, който вече съществува в надклас. Възможно е да се реализира както претоварване, така и преодоляване в Java.
Можете да изтеглите PDF версия на тази статия и да я използвате за офлайн цели, съгласно цитираната бележка. Моля, изтеглете PDF версия тук Разлика между претоварване и преодоляване в Java
1.tutorialspoint.com. „Отмяна на Java.“ Точката. Налични тук
2. „Метод Претоварване в Java - Javatpoint.“ Налични тук
3. „Преопределяне на метода в Java - javatpoint.“ Налични тук