Студопедия

КАТЕГОРИИ:


Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.