Об'єктно-орієнтоване програмування (OOP) - основна парадигма в розробці програмного забезпечення. Це методологія проектування програми з використанням класів та об'єктів. Клас - це план. Тут описано, що має містити об’єкт. Він визначає властивості або атрибути та методи, з яких повинен складатися об’єкт. Тому об’єкт - це екземпляр класу. Ці об'єкти спілкуються з іншими об'єктами. Однією з основних концепцій ООП є поліморфізм. Це здатність об’єкта вести себе в декількох напрямках. Поліморфізм класифікується на два розділи, які перевантажують і переважають. У цій статті йдеться про різницю між цими двома на Java. The ключова різниця між перевантаженням і переосмисленням Java є те, що Перевантаження - це можливість створювати кілька методів з одним ім’ям з різними реалізаціями, а Overriding - це забезпечити реалізацію методу підкласу, який вже існує в надкласі.
1. Огляд та ключові відмінності
2. Що таке перевантаження в Java
3. Що переважає в Java
4. Подібність між перевантаженням та переосмисленням Java
5. Поплечне порівняння - перевантаження над перекриттям Java в табличній формі
6. Підсумок
Перевантаження - це можливість створювати кілька методів одного і того ж імені з різними реалізаціями. Перегляньте наведений нижче код 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.
Малюнок 03: Програма Java для переосмислення
Згідно з вищевказаною програмою, клас A має відображення методу (). Клас B поширюється на клас A, тому властивості та методи класу A доступні класу B. Клас B має метод display () із конкретною реалізацією. Під час створення об'єкта типу A і виклику методу відображення він дасть вихід B. Незважаючи на те, що клас A має метод відображення, це буде перекрито методом відображення класу B. Підклас реалізує метод, який вже існує в надкласі.
Ця концепція є типом поліморфізму і відома як переважаюча. Це також називається як Пізнє зв’язування, Динамічне зв'язування, Поліморфізм під час виконання.
Перевантаження проти перекриття на Java | |
Перевантаження в Java - це можливість створювати кілька методів одного і того ж імені з різними реалізаціями. | Переопределення в Java забезпечує конкретну реалізацію методу підкласу для методу, який вже існує в надкласі. |
Параметри | |
При перевантаженні методи мають однакову назву, але різну кількість параметрів або інший тип параметрів. | При переосмисленні методи мають однакове ім'я, а параметри повинні бути однаковими. |
Теми | |
Перевантаження відбувається в межах класу. | Переоцінка відбувається в межах двох класів, які мають спадкове відношення. |
Синоніми | |
Перевантаження називається складеним часовим поліморфізмом. | Переосмислення називається поліморфізмом часу виконання. |
Поліморфізм є головною концепцією об'єктно-орієнтованого програмування. Це забезпечує можливість об'єкта поводитись у декілька способів. Це може бути як перевантаженим, так і переважаючим. Перевантаження - це поліморфізм часу компіляції, а переосмислення - поліморфізм виконання. Вони корисні при розробці програмного забезпечення. Різниця між переосмисленням і перевантаженням полягає в тому, що перевантаження - це можливість створювати кілька методів одного і того ж імені з різними реалізаціями, а переопределення забезпечує конкретну реалізацію в методі підкласу для методу, який вже існує в надкласі. У Java можливо здійснити як перевантаження, так і перезавантаження.
Ви можете завантажити PDF-версію цієї статті та використовувати її в офлайн-цілях відповідно до примітки. Завантажте тут версію PDF тут. Різниця між перевантаженням та перезавантаженням на Java
1.tutorialspoint.com. "Перекриття Java". Точка. Доступний тут
2. «Перевантаження методу в Java - Javatpoint». Доступний тут
3. "Переопределення методу в Java - javatpoint." Доступний тут