Тема: Обєктно-орієнтовне програмування
План
Вступ
1. Обєктно-орієнтована методологія програмування.
2. Обєктно-орієнтовані мови програмування.
- Smalltalk
- C + +
- Common Lisp Object System (CLOS)
- Ada
- Eiffel
- Java
- Object Pascal
- Система візуального об'єктно-орієнтованого проектування Delphi.
Висновки
Використана література
Вступ
У Сейчас годину можна віділіті декілька тіпів мов програмування. Однією з найважлівішіх ознайо їх класіфікації є пріналежність їх до одного Із стілів, основними з якіх є наступні стілі:
В· процедурний
В· функціональний
В· логічній
В· об'єктно-орієнтований.
Прототипом об'єктно-орієнтованого програмування послужили ряд засобів, Що входять до складу мови Simula-67. Альо в самостійній стиль воно Оформити з з'являться мови SMALLTALK, розроблення А. Кєєм в 1972 году и з початку призначення для реалізації функцій машінної графікі.
Основна мета ООП, Як и більшості інших підходів до програмування - підвіщення ефектівності Розробка програм. Ідеї вЂ‹вЂ‹ООП віявіліся пліднімі и знайшлі застосування НЕ Тільки в мовах програмування, альо и в інших областях Computer Science, наприклад, у області Розробка операційніх систем.
Концепція об'єктно-орієнтованого програмування має на увазі, Що основою Управління процесом реалізації Програми є передача повідомлень об'єктам. Тому об'єкти повінні візначатіся спільно з повідомленнями, на які смороду повінні реагуваті при віконанні прогр. У цьому полягає головна відмінність ООП від процедурного програмування. Таким чином, об'єктно-орієнтована програма Складається з об'єктів - окрема фрагментів кодів, які оброблюють дані, які взаємодіють Один з одним через певні інтерфейсі.
1. Об'єктно-орієнтована методологія програмування
Останнім годиною Розвиток апаратних засобів істотно віпереджав Розвиток систем и засобів програмування. Щоб віправіті положення, в 70-80-х роках булі запропоновані Різні підході до збільшення продуктівності праці програміста. Серед ціх Спроба віділяється такий напр, Як об'єктно-орієнтований підхід до конструювання и кодування програм. Особлива роль в популярності цього підходу зіграло Як Його тісній зв'язок з інтерфейсамі користувача (особливо графічнімі), так и включенням елементів цього підходу в популярні (на персональний комп'ютер фірмі IBM) реалізації гібрідніх мов програмування C + + и Pascal with Objects фірмі Borland.
До ціх пір більшість вікорістовуваніх програмних систем побудовані на принципах структурного підходу, суть Якого полягає в декомпозіції системи на ряд модулів, процедур, функцій и структур даніх, зв'язаних загально алгоритмом Функціонування. Альо розповсюдження могутніх персональних комп'ютерів (порівнянніх з робочого станціямі 70-80-х років) створі в 90-х роках основу для широкого застосування об'єктно-орієнтованого підходу на практіці. Останнім годиною Ширшов почінають вікорістовуватіся мови програмування, створені в рамках об'єктно-орієнтованої методології, Такі Як Smalltalk и Java.
Об'єктно-орієнтована методологія (ООМ) орієнтована, дере за все, на Створення великих систем, КОЛЕКТИВНЕ їх Розробка, подалі активний супровід при експлуатації и регулярні модіфікації. Серед типових Завдання, для якіх ООМ є перспективним, можна віділіті Такі:
В· автоматизація експерименту, робототехніка;
В· планування;
В· інтерфейс користувача, анімація;
В· комунікації, зв'язок;
В· медицина, експертні системи;
В· обробка комерційної інформації;
В· операційні системи;
В· системи Управління;
В· тренажери, моделювання.
У Основі об'єктно-орієнтованої методології програмування лежить об'єктній підхід, коли прикладна наочно область представляється у вігляді сукупності об'єктів, які взаємодіють Між собою за допомог передачі повідомлень. Об'єкт - ції сукупність даніх (змінніх) и способів роботи з ними (компонентних процедур и функцій). Стан об'єкту характерізується переліком Всіх Його можливости (зазвічай статичність) властівостей и значення кожної з ціх властівостей (зазвічай дінамічніх). Стан об'єкту опісується Його зміннімі. Поведінка об'єкту (або Його функціональність) характеризує ті, Як об'єкт взаємодіє з іншімі об'єктами або піддається взаємодії інших об'єктів, проявляючі свою індівідуальність. Індівідуальність - Це Такі Властивості об'єкту, які відрізняють Його від Всіх інших об'єктів. Поведінка об'єкту реалізується у вігляді функцій, які назівають методами. При цьому структура об'єкту доступна Тільки через Його методи, які в сукупності формують інтерфейс об'єкту.
Такий підхід дозволяє локалізуваті ухвалювані Рішення рамками об'єкту, об'єднуючи в нім и структуру, и поведінку, а, отже, зніжуючі складність окремої Програми (ЩО реалізовує об'єкт). Ця Ідея об'єднання структури и поведінкі в одному місці и заховання Всіх даніх усередіні об'єкту, Що робіть їх невидимими для Всіх, за вінятком методів самого об'єкту назівається інкапсуляцією. Це дозволяє об'єктам функціонуваті абсолютно Незалежності один від одного, пріховуючі за інтерфейсом Деталі реалізації. Інкапсуляція дозволяє розглядаті об'єкти, Як ізольовані "чорні ящики ", які знають и уміють віконуваті певні дії. З цієї точки зору, внутрішній устрій "чорних ящіків" для нас значення не має, нам все одне, Що відбувається усередіні. Важливим Тільки знаті, що треба покласти в ящик при зверненні до нього и Що ми при цьому з нього отрімаємо. Таким чином, об'єкти об'єктно-орієнтованих систем - ції мінімальні одініці інкапсуляції. Альо Як управляти таким обсягах об'єктів, коли їх стало Досить Багато? Аджея Багато хто з них буде Дуже сильно відрізнятіся один від одного, а Інші об'єкти Будуть Дуже Схожі один на одного. Тут на сцену виходили одна з ключовими концепцій об'єктно-орієнтованого програмування - Ідея угрупування об'єктів в класи, відповідно до того Як смороду влаштовані и діють. Така Ідея Вперше Була реалізована галі в 60-і роки в мові Simula. Під класом розуміється безліч об'єктів, зв'язаних спільністю структури и поведінкі. Клас можна порівняті з шаблоном, по якому створюються об'єкти. Саме клас Спочатку опісує змінні и методи об'єкту, тобто структуру и поведінку об'єкту, и візначає механізмі Створення об'єкту, Що реально існує в сістемі, Який, коли створюється, є екземпляр класу.
наведення за допомог класів порядком в Світі об'єктів - ровері Досягнення, альо можна піті Далі, визначаючи Деяк порядок и Серед класів. Досягається Це за допомог Введення механізму спадкоємства - Мабуті, наймогутнішого Засоба в будь-якій об'єктно-орієнтованій сістемі, оскількі воно дозволяє Багато разів вікорістовуваті одного разу створения код. Механізм спадкоємства Дуже простий: один клас, звань в рамках ціх відносін суперкласом, повністю передає іншому класу, Який назівається підкласом, свою структуру и поведінку, тобто ВСІ Свої змінні и ВСІ методи. Що Далі робіті з ЦІМ багатством візначає Тільки підклас: Він Може Додати в структуру Щось Своє, Щось з успадкованого інтерфейсу ВІН Може вікорістовуваті без змін, Щось Изменить, І, зрозуміло, Може Додати Свої власні методи. Тобто клас за допомог підкласів розшірюється, и Як результат, створювані об'єкти стають всі більш и більш спеціалізованімі. Класи, розташовані за принципом спадкоємства, починаючі з найзагальнішого, базового класу, утворюють ієрархію класів.
Зрозуміло, система, Що реалізовує Такі принципи побудова, пред'являє жорсткіші, Ніж при структурному підході, вимоги до продуктівності обчіслювальної системи.
Після короткого опису Деяк ключовими зрозуміти об'єктно-орієнтованої методології, можна Зробити вивід, Що концептуально об'єктно-орієнтована методологія програмування спірається на об'єкт...