конспект лекцій (ТСПП). Конспект лекцій з дисципліни 07 технологія створення програмних продуктів напряму 050101 Компютерні науки
Скачать 14.87 Mb.
|
Зародження об' єктної моделі.Декарт відмічав, що люди зазвичай мають об'єктно-орієнтований погляд на світ. Вважають, що об'єктно-орієнтованого проектування засноване на принципах :
Але усе це може застосовуватися і при функціональному підході. Слід розрізняти достоїнства і недоліки загального об'єктного підходу і його окремого випадку - суб'єктно-орієнтованого підходу. Достоїнства загального об'єктивного підходу : Природне відображення реального світу на будову ПС (природне сприйняття людиною можливостей ПС, не треба "вигадувати" будову ПС, а використовувати природні аналогії). Використання досить змістовних структурних одиниць ПС (об'єкт як цілісність ненадмірних асоціацій, инфомационно-прочные модулі). Зниження трудомісткості розробки ПС за рахунок використання нового рівня абстракцій (використання ієрархії "непрограмних" абстракцій при розробці ПС : класифікація об'єктів реального світу, метод аналогій в природі) як новий рівень спадкоємства. Об'єктно-орієнтоване проектування - метод, що використовує об'єктну декомпозицію; об'єктно-орієнтований підхід має свою систему умовних позначень і пропонує багатий набір логічних і фізичних моделей для проектування систем високої міри складності. На об'єктний підхід зробив об'єктно-орієнтований аналіз (ООА). ООА спрямований на створення моделей, ближчих до реальності, з використанням об'єктно-орієнтованого підходу; це методологія, при якій вимоги формуються на основі понять класів і об'єктів, що становлять словник предметної області.. Об'єкти, класи, поведінка об'єкту, властивості, події. Об' єктні мови програмування. Об' єктно - орієнтовані мови. Багато сучасні мови спеціально створені для полегшення об' єктно - орієнтованого програмування. Однак слід зазначити, що можна застосовувати техніки ТОП і для не-об' єктно - орієнтованої мови і навпаки, застосування об' єктно - орієнтованої мови зовсім не означає, що код автоматичний стає об' єктно - орієнтованим. Сучасний об' єктно - орієнтована мова пропонує, як правило, наступний обов'язковий набір синтаксичних засобів:
Мабуть, мінімальним традиційним об' єктно - орієнтованою мовою можна вважати мову Оберон, який не містить ніяких інших об' єктних засобів, крім перерахованих вище (у вихідному Обероні навіть немає окремого ключового слова для оголошення класу, а також відсутні явно описувані методи, їх замінюють поля процедурного типу). Але більшість мов додають до зазначеного мінімальному набору ті чи інші додаткові засоби. У їх числі:
Частина мов (іноді званих "чисто об'єктними") цілком побудована навколо об' єктних засобів - у них будь- які дані (можливо, за невеликим числом винятків у вигляді вбудованих скалярних типів даних) є об' єктами, будь-який код - методом якого класу, і неможливо написати програму, в якій не використовувалися б об' єкти. Приклади подібних мов - Smalltalk, Python, Java, C #, Ruby, AS3. Інші мови (іноді використовується термін "гібридні") включають ООП- підсистему в початково процедурний мова. У них існує можливість програмувати, не звертаючись до об' єктним засобам. Класичні приклади - C + +, Delphi і Perl. |