Принципи ООП: Поліморфізм
Поліморфізм
Поліморфізм — ще один принцип 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. Яке ключове слово використовується для перевантаження методу?
Дякуємо за ваш відгук!