Принципи ООП: Поліморфізм
Поліморфізм
Поліморфізм — ще один принцип OOP. Ви вже стикалися з поліморфізмом, коли перевантажували та перевизначали методи. Загалом, це і є суть поліморфізму. Але визначення поліморфізму може здатися трохи лякаючим:
Але насправді все набагато простіше, ніж здається. Поліморфізм простими словами можна розділити на 2 частини:
- Перевантаження методів: те, що ви вивчали в цьому розділі, але давайте повторимо.
Розглянемо приклад: потрібно написати метод, який приймає параметр типу int
і повертає String
, а також метод, який робить те саме, але з параметром типу long
. Ось фрагмент коду:
Main.java
1234567public String doStuff(int parameter) { //... } public String doStuff(long parameter) { //... }
Як ви бачите вище, ми створили 2 методи з однаковою назвою, але вони можуть виконувати різні дії. Це перевантаження методу.
- Перевизначення методу:
Ви вже стикалися з цією темою, коли перевизначали метод
toString
у цьому розділі. Але давайте розглянемо це ще раз.
Розглянемо фрагмент коду, який покаже, як можна перевизначити метод. У нас є клас Airplane
, який наслідується від класу Transport
. У класі Transport
є метод move
, який повертає "This transport has started moving".
Нам потрібно, щоб літак "start flying" замість "moving". Для цього ми перевизначимо метод move
у дочірньому класі:
Transport.java
Airplane.java
1234567public class Transport { // some fields public String move() { return "This transport has started moving"; } }
Як бачите, ми перевизначили метод із батьківського класу в дочірньому класі відповідно до вимог.
Таким чином, поліморфізм чудово доповнює наслідування. Завдяки поліморфізму ми можемо зручно та оптимально розширювати наш код, роблячи його гнучким.
1. Навіщо потрібен поліморфізм у Java?
2. Як поліморфізм доповнює наслідування?
3. Яке ключове слово використовується для перевантаження методу?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 4.76
Принципи ООП: Поліморфізм
Свайпніть щоб показати меню
Поліморфізм
Поліморфізм — ще один принцип OOP. Ви вже стикалися з поліморфізмом, коли перевантажували та перевизначали методи. Загалом, це і є суть поліморфізму. Але визначення поліморфізму може здатися трохи лякаючим:
Але насправді все набагато простіше, ніж здається. Поліморфізм простими словами можна розділити на 2 частини:
- Перевантаження методів: те, що ви вивчали в цьому розділі, але давайте повторимо.
Розглянемо приклад: потрібно написати метод, який приймає параметр типу int
і повертає String
, а також метод, який робить те саме, але з параметром типу long
. Ось фрагмент коду:
Main.java
1234567public String doStuff(int parameter) { //... } public String doStuff(long parameter) { //... }
Як ви бачите вище, ми створили 2 методи з однаковою назвою, але вони можуть виконувати різні дії. Це перевантаження методу.
- Перевизначення методу:
Ви вже стикалися з цією темою, коли перевизначали метод
toString
у цьому розділі. Але давайте розглянемо це ще раз.
Розглянемо фрагмент коду, який покаже, як можна перевизначити метод. У нас є клас Airplane
, який наслідується від класу Transport
. У класі Transport
є метод move
, який повертає "This transport has started moving".
Нам потрібно, щоб літак "start flying" замість "moving". Для цього ми перевизначимо метод move
у дочірньому класі:
Transport.java
Airplane.java
1234567public class Transport { // some fields public String move() { return "This transport has started moving"; } }
Як бачите, ми перевизначили метод із батьківського класу в дочірньому класі відповідно до вимог.
Таким чином, поліморфізм чудово доповнює наслідування. Завдяки поліморфізму ми можемо зручно та оптимально розширювати наш код, роблячи його гнучким.
1. Навіщо потрібен поліморфізм у Java?
2. Як поліморфізм доповнює наслідування?
3. Яке ключове слово використовується для перевантаження методу?
Дякуємо за ваш відгук!