КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Зародження об' єктної моделі
Декарт відмічав, що люди зазвичай мають об'єктно-орієнтований погляд на світ. Вважають, що об'єктно-орієнтованого проектування засноване на принципах: · виділення абстракцій, · обмеження доступу, · модульність, · ієрархія, · типізація, · паралельність · стійкість. Але усе це може застосовуватися і при функціональному підході. Слід розрізняти достоїнства і недоліки загального об'єктного підходу і його окремого випадку - суб'єктно-орієнтованого підходу. Достоїнства загального об'єктивного підходу: Природне відображення реального світу на будову ПС (природне сприйняття людиною можливостей ПС, не треба "вигадувати" будову ПС, а використовувати природні аналогії). Використання досить змістовних структурних одиниць ПС (об'єкт як цілісність ненадмірних асоціацій, инфомационно-прочные модулі). Зниження трудомісткості розробки ПС за рахунок використання нового рівня абстракцій (використання ієрархії "непрограмних" абстракцій при розробці ПС: класифікація об'єктів реального світу, метод аналогій в природі) як новий рівень спадкоємства. Об'єктно-орієнтоване проектування - метод, що використовує об'єктну декомпозицію; об'єктно-орієнтований підхід має свою систему умовних позначень і пропонує багатий набір логічних і фізичних моделей для проектування систем високої міри складності. На об'єктний підхід зробив об'єктно-орієнтований аналіз (ООА). ООА спрямований на створення моделей, ближчих до реальності, з використанням об'єктно-орієнтованого підходу; це методологія, при якій вимоги формуються на основі понять класів і об'єктів, що становлять словник предметної області.. Об'єкти, класи, поведінка об'єкту, властивості, події. Об' єктні мови програмування. Об' єктно - орієнтовані мови. Багато сучасні мови спеціально створені для полегшення об' єктно - орієнтованого програмування. Однак слід зазначити, що можна застосовувати техніки ТОП і для не-об' єктно - орієнтованої мови і навпаки, застосування об' єктно - орієнтованої мови зовсім не означає, що код автоматичний стає об' єктно - орієнтованим. Сучасний об' єктно - орієнтована мова пропонує, як правило, наступний обов'язковий набір синтаксичних засобів: · Оголошення класів з полями (даними - членами класу) і методами (функціями - членами класу). · Механізм розширення класу (успадкування) - породження нового класу від існуючого з автоматичним включенням всіх особливостей реалізації класу-предка до складу класу-нащадка. Більшість ООП-мов підтримують тільки одиничне успадкування. · Поліморфні змінні і параметри функцій (методів), що дозволяють привласнювати однієї і тієї ж змінної екземпляри різних класів. · Поліморфну поведінку екземплярів класів за рахунок використання віртуальних методів. У деяких ООП-язиках усе методи класів є віртуальними. Мабуть, мінімальним традиційним об' єктно - орієнтованою мовою можна вважати мову Оберон, який не містить ніяких інших об' єктних засобів, крім перерахованих вище (у вихідному Обероні навіть немає окремого ключового слова для оголошення класу, а також відсутні явно описувані методи, їх замінюють поля процедурного типу). Але більшість мов додають до зазначеного мінімальному набору ті чи інші додаткові засоби. У їх числі: · Конструктори, деструктори, фіналізатори. · Властивості (аксесор). · Індексатори. · Інтерфейси (наприклад, в Java використовуються також як альтернатива множинного спадкоємства - будь-який клас може реалізувати скільки завгодно інтерфейсів). · Перевизначення операторів для класів. · Засоби захисту внутрішньої структури класів від несанкціонованого використання ззовні. Зазвичай це модифікатори доступу до полів і методів, типу public, private, зазвичай також protected, іноді деякі інші. Частина мов (іноді званих "чисто об'єктними") цілком побудована навколо об' єктних засобів - у них будь- які дані (можливо, за невеликим числом винятків у вигляді вбудованих скалярних типів даних) є об' єктами, будь-який код - методом якого класу, і неможливо написати програму, в якій не використовувалися б об' єкти. Приклади подібних мов - Smalltalk, Python, Java, C #, Ruby, AS3. Інші мови (іноді використовується термін "гібридні") включають ООП- підсистему в початково процедурний мова. У них існує можливість програмувати, не звертаючись до об' єктним засобам. Класичні приклади - C + +, Delphi і Perl.
Дата добавления: 2014-01-04; Просмотров: 535; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |