Поліморфізм та перевантаження
Зверніть увагу на те, що операції присвоювання (=) та додавання (+) для типу даних Рosition повинні виконувати дії, що відрізняються від тих, які ці операції виконують для об’єктів стандартних типів. Чи, наприклад, вам необхідно використати операцію додавання (+) для додавання інтервалів чи об’єднання рядків. Як же оператори = та + розпізнають, які саме дії необхідно здійснити над операндами? Відповідь полягає в тому, що ми самі можемо задавати ці дії, зробивши потрібні оператори методами відповідного класу (наприклад, класу Рosition).
Використання операцій та функцій різним чином в залежності від того, з якими типами даних вони працюють, називається поліморфізмом.
Коли існуюча операція, наприклад = чи +, наділяється можливістю здійснювати дії над операндами нового користувацького типу, говорять, що така операція є перевантаженою. Перевантаженими можуть бути будь-які унарні чи бінарні операції. Перевантаження являє собою частковий випадок поліморфізму і є важливим інструментом ООП.
Дата добавления: 2022-01-22; просмотров: 16; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!