Вступ до поліморфізму

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

Розуміння

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

Як поліморфізм робить роботу такою простою?

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

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

Розглянемо реальний сценарій поліморфізму. Візьмемо приклад кнопки. Ми знаємо, що приклавши певний тиск, ми можемо натиснути кнопку, але не знаємо результату натискання кнопки або посилання на її використання. Слід зазначити, що в будь-якому випадку результат не вплине на спосіб його використання.

Отже, основна мета поліморфізму - зробити об'єкти взаємозамінними залежно від потреб.

Що ви можете зробити з поліморфізмом?

Коли дочірній клас має той самий метод, що і оголошений у батьківському класі, ми називаємо його методом, що переосмислює.

Або іншими словами, якщо дочірній клас забезпечує реалізацію методу, який був оголошений його батьківським класом, він називається методом переопределення. Деякі речі, які слід пам’ятати при переосмисленні методу, це:

  • Метод повинен мати те саме ім’я, що і згадане в батьківському класі
  • Метод також повинен мати той самий параметр, що і вказаний у батьківському класі.
  • Має бути спадщина, тобто відносини ІС-А.

Робота з поліморфізмом?

Коли в класі є кілька методів, які мають однакове ім'я, але різні параметри, це називається методом перевантаження.

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

  • Зміна кількості аргументів
  • Зміна типу даних

Однак у Java це неможливо, якщо ми змінимо лише тип повернення методу.

Переваги

  • Поліморфізм допомагає програмістам повторно використовувати код, а також класи, які колись написані для тестування та реалізації. (Можливість повторного використання коду)
  • Одне ім’я змінної може зберігати змінні декількох типів даних (int, float, double, long тощо).
  • Підвищує читабельність програми.

Чому ми повинні використовувати поліморфізм?

Окрім динамічного поліморфізму та статичного поліморфізму, є деякі характеристики програмування Java, що виявляють інші поліморфізм, крім двох основних типів.

Це - примус, поліморфні параметри та перевантаження оператора

Примус

Давайте зрозуміємо примус на дуже простому прикладі. Розглянемо рядок зі значенням "клас примусу:". Розглянемо ще одне ціле число зі значенням 1. Тепер, що відбувається, коли ви сформулюєте значення рядка з цілим значенням? Виходом цього конкатенації буде "клас примусу: 1". Це те, що називається примусом. Неявне перетворення типу робиться для запобігання помилок типу. Це робить компілятор.

Перевантаження оператора

Перш ніж почати перевантаження оператора, також відомий як метод перевантаження, переглянемо приклад. Розгляньте рядок зі значенням "Оператор", а іншу - як "Перевантаження". Використовуйте символ плюс (+) з цими двома рядками так само, як ви додаєте два цілих числа. (+) Об'єднає ці два рядки. У випадку двох цілих чисел повертається сума двох цілих чисел. Коли один символ або оператор має можливість змінювати своє значення залежно від способу їх використання, тип проявленого поліморфізму називається перевантаження оператора.

Параметри

У поліморфізмі об’єкт може з’являтися у багатьох формах. У Java це стосується дозволу доступу до об'єкта одним із таких способів, як -

1. використовуючи опорну змінну свого батьківського класу або надкласу

2. використовуючи опорну змінну класу, в якому вона існує.

Для чого нам потрібен поліморфізм?

Основна причина, чому потрібен поліморфізм, полягає в тому, що ця концепція широко використовується при здійсненні спадкування. Він відіграє важливу роль у тому, щоб об’єкти мали різноманітні внутрішні структури при обміні тим самим зовнішнім інтерфейсом. Поліморфізм чітко викладений як такий, який відображений для багатьох.

Область застосування

Прив'язка - це підключення виклику методу до тіла методу. У нас є два типи зв'язування.

Статичне прив'язування (раннє прив'язування): коли тип об'єкта визначається під час компіляції.

Динамічне прив'язування (пізнє прив'язка): коли тип об'єкта визначається під час виконання.

Висновок

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

Рекомендовані статті

Це було керівництвом щодо того, що таке поліморфізм ?. Тут ми обговорили робочі, сфери, потреби та переваги поліморфізму. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Що таке JavaScript?
  2. Що таке HTML
  3. Що таке Python
  4. Поліморфізм у C #
  5. Масиви в програмуванні Java
  6. Перетворення типів у Java за допомогою типів та прикладів
  7. Керівництво по перетворенню в Java з прикладами
  8. Статичне зв'язування та динамічне зв'язування | Вступ | Використання