Різниця між перевантаженням і перезавантаженням на Java

Ключова різниця - перевантаження vs Перекриття на Java
 

Об'єктно-орієнтоване програмування (OOP) - основна парадигма в розробці програмного забезпечення. Це методологія проектування програми з використанням класів та об'єктів. Клас - це план. Тут описано, що має містити об’єкт. Він визначає властивості або атрибути та методи, з яких повинен складатися об’єкт. Тому об’єкт - це екземпляр класу. Ці об'єкти спілкуються з іншими об'єктами. Однією з основних концепцій ООП є поліморфізм. Це здатність об’єкта вести себе в декількох напрямках. Поліморфізм класифікується на два розділи, які перевантажують і переважають. У цій статті йдеться про різницю між цими двома на Java. The ключова різниця між перевантаженням і переосмисленням Java є те, що Перевантаження - це можливість створювати кілька методів з одним ім’ям з різними реалізаціями, а Overriding - це забезпечити реалізацію методу підкласу, який вже існує в надкласі.

ЗМІСТ

1. Огляд та ключові відмінності
2. Що таке перевантаження в Java
3. Що переважає в Java
4. Подібність між перевантаженням та переосмисленням Java
5. Поплечне порівняння - перевантаження над перекриттям Java в табличній формі
6. Підсумок

Що таке перевантаження в Java?

Перевантаження - це можливість створювати кілька методів одного і того ж імені з різними реалізаціями. Перегляньте наведений нижче код Java.

Рисунок 01: Програма Java, яка пояснює Перевантаження з різною кількістю аргументів

Відповідно до вищезгаданої програми, клас А містить два методи з однаковою назвою. Метод першої суми має два параметри. Метод другої суми має три параметри. Створюючи об'єкт типу 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 можливо побудувати підкласи з уже наявними класами. Замість того, щоб створити новий клас із самого початку, можна використовувати властивості та методи вже існуючого класу. Існуючий клас є надкласом, а похідний клас - підкласом. Коли підклас забезпечує реалізацію методу, який вже є в надкласі, він відомий як переосмислення. Перегляньте нижче програму Java.

Малюнок 03: Програма Java для переосмислення

Згідно з вищевказаною програмою, клас A має відображення методу (). Клас B поширюється на клас A, тому властивості та методи класу A доступні класу B. Клас B має метод display () із конкретною реалізацією. Під час створення об'єкта типу A і виклику методу відображення він дасть вихід B. Незважаючи на те, що клас A має метод відображення, це буде перекрито методом відображення класу B. Підклас реалізує метод, який вже існує в надкласі.

Ця концепція є типом поліморфізму і відома як переважаюча. Це також називається як Пізнє зв’язування, Динамічне зв'язування, Поліморфізм під час виконання.

Які подібності між перевантаженням та переосмисленням на Java?

  • Обидва - це види поліморфізму.
  • У перевантаженні та переосмисленні методи мають те саме ім'я.

Яка різниця між перевантаженням та переосмисленням на Java?

Перевантаження проти перекриття на Java

Перевантаження в Java - це можливість створювати кілька методів одного і того ж імені з різними реалізаціями. Переопределення в Java забезпечує конкретну реалізацію методу підкласу для методу, який вже існує в надкласі.
 Параметри
При перевантаженні методи мають однакову назву, але різну кількість параметрів або інший тип параметрів. При переосмисленні методи мають однакове ім'я, а параметри повинні бути однаковими.
Теми
Перевантаження відбувається в межах класу. Переоцінка відбувається в межах двох класів, які мають спадкове відношення.
 Синоніми
Перевантаження називається складеним часовим поліморфізмом. Переосмислення називається поліморфізмом часу виконання.

Підсумок - Перевантаження vs Перекриття на Java

Поліморфізм є головною концепцією об'єктно-орієнтованого програмування. Це забезпечує можливість об'єкта поводитись у декілька способів. Це може бути як перевантаженим, так і переважаючим. Перевантаження - це поліморфізм часу компіляції, а переосмислення - поліморфізм виконання. Вони корисні при розробці програмного забезпечення. Різниця між переосмисленням і перевантаженням полягає в тому, що перевантаження - це можливість створювати кілька методів одного і того ж імені з різними реалізаціями, а переопределення забезпечує конкретну реалізацію в методі підкласу для методу, який вже існує в надкласі. У Java можливо здійснити як перевантаження, так і перезавантаження.

Завантажте PDF Перевантаження через перекриття на Java

Ви можете завантажити PDF-версію цієї статті та використовувати її в офлайн-цілях відповідно до примітки. Завантажте тут версію PDF тут. Різниця між перевантаженням та перезавантаженням на Java

Довідка:

1.tutorialspoint.com. "Перекриття Java". Точка. Доступний тут 
2. «Перевантаження методу в Java - Javatpoint». Доступний тут
3. "Переопределення методу в Java - javatpoint." Доступний тут