Класи ООП. Об’єктно-орієнтоване програмування

Поліморфізм

Ця концепція дозволяє розширювати комп’ютерні системи за рахунок створення нових спеціалізованих об’єктів. Одночасно вона дає можливість поточної версії взаємодіяти з новою, не звертаючи уваги на її конкретні властивості.

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

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

Спадкування є одним із способів досягнення поліморфізму, коли поведінка, визначене в успадкованому класі, може бути перевизначено шляхом написання користувача реалізації методу. Це називається перевизначенні (поліморфізмом часу компіляції).

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