русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Повторне використання коду


Дата додавання: 2014-04-22; переглядів: 1537.


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

В ООП концепція успадкування відкриває нові можливості повторного використання коду. Програміст може взяти існуючий клас, і, нічого не міняючи, додати до нього власні елементи. Всі похідні класи успадкують ці зміни, і в той же час кожен з похідних класів можна модифікувати окремо.

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

Легкість повторного використання коду вже написаних програм є важливою перевагою ООП.

 

Типи даних користувача

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

position1=position2+origin

де змінні position1, position2, origin являють собою набори з двох координат. Описавши клас, що включає в себе пару координат, і оголосивши об’єкти цього класу з іменами position1, position2, origin, ми фактично створимо новий тип даних.

 

Поліморфізм і перезавантаження

Зверніть увагу на те, що операції присвоювання = і додавання + для типу position повинні виконувати дії, відмінні від тих, які вони виконують для об’єктів стандартного типу, наприклад, int. Об’єкти position1 та інші не є стандартними, оскільки визначені користувачем як належні класу position. Як же оператори = і + розпізнають, які дії необхідно здійснити з операндами? Відповідь на це питання полягає в тому, що ми самі можемо задати ці дії, зробивши потрібні оператори методами класу position.

Використання операцій і функцій різним чином залежно від того, з якими типами величин вони працюють, називається поліморфізмом. Коли існуюча операція, наприклад, + чи =, здобуває можливість здійснювати дії над операндами нового типу, кажуть, що така операція є перезавантаженою. Перезавантаження являє собою окремий випадок поліморфізму і є важливим інструментом ООП.

 


<== попередня лекція | наступна лекція ==>
Успадковування | Підсумок


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн