Поліморфізм

Матеріал з Словник з інформатики
Перейти до: навігація, пошук

Поліморфізм


Поліморфі́зм — (слово поліморфізм має грецьке походження і переводиться як "має багато форм") прийом програмування який має свою концептуальну базу, відповідно до якої використовується спільний інтерфейс для обробки даних різних спеціалізованих типів.

Перевагою поліморфізму є те, що: - він допомагає зменшити складність програм; - дозволяє використання одного інтерфейсу для єдиного класу дій. На противагу поліморфізму, концепція мономорфізму вимагає однозначного зіставлення.

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

- 1 + 2 — результат цілого типу; - 1.2 + 1.0e3 — результат дійсного типу; - «Бульдог» + «Носоріг» — конкатенований рядок.

Характеристики


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

Спільні властивості об'єктів об'єднуються в систему, яку можуть називати по різному: інтерфейс, клас. Спільність має зовнішнє і внутрішнє вираження. Зовнішня спільність проявляється як однаковий набір методів з однаковими іменами і сигнатурами (типами аргументів і результатів).

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