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