Разлика между претоварване и замяна в Java

Съдържание:

Разлика между претоварване и замяна в Java
Разлика между претоварване и замяна в Java

Видео: Разлика между претоварване и замяна в Java

Видео: Разлика между претоварване и замяна в Java
Видео: Лучшие онлайн курсы программирования для начинающих, рейтинг школ 2021 2024, Ноември
Anonim

Ключова разлика – Претоварване срещу замяна в Java

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

Какво е претоварване в Java?

Претоварването е способността да се създават множество методи с едно и също име с различни реализации. Вижте кода на Java по-долу.

Разлика между претоварване и замяна в Java
Разлика между претоварване и замяна в Java
Разлика между претоварване и замяна в Java
Разлика между претоварване и замяна в Java

Фигура 01: Java програма, която обяснява претоварването с различен брой аргументи

Съгласно горната програма, клас A съдържа два метода с едно и също име. Първият метод на сумиране има два параметъра. Вторият метод на сумиране има три параметъра. Когато създава обект от тип A и извиква sum(2, 3), той ще извика метод sum с два параметъра, които са sum(int a, int b) и връща 5. Когато създава обект от тип A и извиква sum(2, 3, 4), той ще извика другия метод за сумиране с три параметъра, който е сумата (int a, int b, int c) и връща 9.

Името на метода е същото, но броят на параметрите е различен. Може да се види, че един и същ обект се държи по различен начин. Тази концепция е известна като претоварване. Нарича се още статично обвързване или полиморфизъм на времето за компилиране.

Може също да бъде претоварен с различни типове данни. Вижте кода на Java по-долу.

Разлика между претоварване и замяна в Java_Figure 02
Разлика между претоварване и замяна в Java_Figure 02
Разлика между претоварване и замяна в Java_Figure 02
Разлика между претоварване и замяна в Java_Figure 02

Фигура 02: Java програма, която обяснява Претоварването с различен брой аргументи

Съгласно горната програма, клас А се състои от два метода с едно и също име. Методът sum(int a, int b) получава две цели числа. Сумата (double a double b) получава две двойни стойности. Когато създава обект от тип A и извиква sum(2, 3), той ще извика sum(int a, int b) и ще върне стойността 5. Когато извиква sum(3.4, 5.6), той ще извика sum(double a double б) и връща стойността 9,0. В този пример методите имат едно и също име, но различен тип променливи. Това също е претоварващо.

Какво е Overriding в Java?

В Java е възможно да се изграждат подкласове с вече съществуващи класове. Вместо да създавате нов клас от самото начало, е възможно да използвате свойствата и методите на вече съществуващия клас. Съществуващият клас е суперкласът, а производният клас е подкласът. Когато подкласът предоставя имплементация за метод, който вече е в суперкласа, това е известно като преодоляване. Вижте програмата Java по-долу.

Ключова разлика между претоварване и замяна в Java
Ключова разлика между претоварване и замяна в Java
Ключова разлика между претоварване и замяна в Java
Ключова разлика между претоварване и замяна в Java

Фигура 03: Java програма за замяна

Съгласно горната програма, клас A има метод display(). Клас B се разширява от клас A, така че свойствата и методите на клас A са достъпни от клас B. Клас B има метод display() със специфична реализация. Когато създавате обект от тип A и извиквате метода за показване, той ще даде изход B. Въпреки че клас A има метод за показване, той е заменен от метод за показване от клас B. Подкласът имплементира метод, който вече съществува в суперкласа.

Тази концепция е вид полиморфизъм и е известна като преодоляване. Нарича се още като късно свързване, динамично свързване, полиморфизъм по време на изпълнение.

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

  • И двата са видове полиморфизъм.
  • При претоварване и замяна методите имат едно и също име.

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

Претоварване срещу замяна в Java

Претоварването в Java е възможността за създаване на множество методи с едно и също име с различни реализации. Замяната в Java предоставя специфична реализация в метод на подклас за метод, който вече съществува в суперкласа.
Параметри
При претоварване методите имат едно и също име, но различен брой параметри или различен тип параметри. При замяна методите имат едно и също име и параметрите трябва да са еднакви.
Теми
В рамките на класа възниква претоварване. Замяната се извършва в рамките на двата класа, които имат връзка на наследяване.
Синоними
Претоварването се нарича полиморфизъм на компилираното време. Замяната се нарича полиморфизъм по време на изпълнение.

Резюме – Претоварване срещу замяна в Java

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

Изтеглете PDF Претоварване срещу замяна в Java

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

Препоръчано: