Тема: Обєктно-орієнтовне програмування
План
Вступ
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. Під класом розуміється безліч обєктів, звязаних спільністю структури і поведінки. Клас можна порівняти з шаблоном, по якому створюються обєкти. Саме клас спочатку описує змінні і методи обєкту, тобто структуру і поведінку обєкту, і визначає механізми створення обєкту, що реально існує в системі, який, коли створюється, є екземпляр класу.
Наведення за допомогою класів порядку в світі обєктів - велике досягнення, але можна піти далі, визначаючи деякий порядок і серед класів. Досягається це за допомогою введення механізму спадкоємства - мабуть, наймогутнішого засобу в будь-якій обєктно-орієнтованій системі, оскільки воно дозволяє багато разів використовувати одного разу створений код. Механізм спадкоємства дуже простий: один клас, званий в рамках цих відносин суперкласом, повністю передає іншому класу, який називається підкласом, свою структуру і поведінку, тобто всі свої змінні і всі методи. Що далі робити з цим багатством визначає тільки підклас: він може додати в структуру щось своє, щось з успадкованого інтерфейсу він може використовувати без змін, щось змінити, і, зрозуміло, може додати свої власні методи. Тобто клас за допомогою підкласів розширюється, і як результат, створювані обєкти стають все більш і більш спеціалізованими. Класи, розташовані за принципом спадкоємства, починаючи з найзагальнішого, базового класу, утворюють ієрархію класів.
Зрозуміло, система, що реалізовує такі принципи побудови, предявляє жорсткіші, ніж при структурному підході, вимоги до продуктивності обчислювальної системи.
Після короткого опису деяких ключових понять обєктно-орієнтованої методології, можна зробити вивід, що концептуально обєктно-орієнтована методологія програмування спирається на обєктний підхід, який включає чотири основні принципи:
Абстрагування.
Виділення таких істотних характеристик обєктів, які відрізняють його від всіх інших обєктів і які чітко визначають особливості даного обєкту з погляду подальшого розгляду і аналізу. Тільки істотне для даного завдання і нічого більш. Мінімальною одиницею абстракції в ООМ є клас.
Обмеження доступу.
Процес захисту окремих елементів обєкту, що не зачіпає істотних характеристик обєкту, як цілого.
Модульність.
Властивість системи, повязана з можливістю декомпозиції на ряд тісно звязаних частин (модулів). Модульність спирається на дискретне програмування обєктів, які можна модернізувати або замінювати, не впливаючи на інші обєкти і систему в цілому.
Існування ієрархій.
Ранжирування, впорядковування за деякими правилах обєктів системи.
Обєктно-орієнтована методологія (ООМ) складається з наступних частин:
· обєктно-орієнтований аналіз (OOA)
· обєктно-орієнтоване проектування (OOD)
· обєктно-орієнтоване програмування (OOР).
ООА - методологія аналізу суті реального світу на основі понять класу і обєкту, складових словник наочної області, для розуміння і пояснення того, як вони (суть) взаємодіють між собою. Моделі OOA надалі перетворюються в обєктно-орієнтований проект.
OOD - методологія проектування програмного продукту, що сполучає в собі процес обєктної декомпозиції, що спирається на виділення класів і обєктів, і прийоми представлення моделей, що відображають логічну (структура класів і обєктів) і фізичну (архітектура моделей і процесів) структуру системи. Наступні поняття є в OOD фундаментальними:
Інкапсуляція.
Інкапсуляція є найважливішою властивістю обєктів, на якій будується обєктно-орієнтоване програмування. Інкапсуляція - це обєднання в одному класі даних і дій над ними. При цьому включені в обєкт підпрограми (методи) безпосередньо працюють з даними цього обєкту, звертаються до інших методів цього обєкту або методів обєктів-предків.
Інкапсуляція дозволяє багато в чому ізолювати клас від решти частин програми, зробити його «самодостатнім» для вирішення конкретного завдання. В результаті клас завжди несе в собі деяку функціональність. Наприклад, клас Tform в Delphi містить (інкапсулює в собі) все необхідне для створення Windows-вікна, клас Ttimer забезпечує роботу таймера і так далі.
Одиницею інкапсуляції в OOD є обєкт.
Спадкоємство дозволяє створювати ієрархію класів, починаючи з деякого первинного базового класу (предка) і продовжуючи складнішими, такими, що включають (що успадковують) елементи попередніх класів (нащадків або похідних класів).
Будь-який клас може бути породжений від іншого класу. Для цього при його оголошенні вказується імя класу-батька:
Tchildclass = class(Tparentclass) (мова Object Pascal)
Створений клас автоматично успадковує поля, методи і властивості свого батька і може доповнювати їх новими. Таким чином, принцип спадкоємства забезпечує поетапне створення складних класів і розробку власних бібліотек класів. Клас, поведінка якого успадковується, називається суперкласом, а клас, який успадковує поведінку, називається підкласом.
Принцип спадкоємства призводить до створення дерева з гілками класів, що постійно розростається. Кожен нащадок доповнює можливості свого батька новими і передає їх своїм нащадкам.
Поліморфізм - це властивість споріднених класів вирішувати схожі по сенсу проблеми різними способами. Для різних споріднених класів можна задати єдиний образ дії (наприклад, вивід на екран будь-якої геометричної фігури). Потім для кожного конкретного класу складається своя підпрограма, що виконує цю дію безпосередньо для нього (відображення крапки відрізняється від відображення лінії і так далі), причому всі ці підпрограми повинні мати одне імя. Коли потрібно буде відобразити конкретну фігуру, буде вибрана зі всієї безлічі однойменних підпрограм та, яка відповідає типу конкретного обєкту. Якщо обєкт, що виводиться, є крапкою, то вибирається його підпрограма, якщо лінія - то її.
Таким чином, поліморфізм проводить ідею «один інтерфейс - безліч методів». Вибір конкретної дії залежить від ситуації.
Створений проект перетворюється на програмний продукт в процесі обєктно-орієнтованого програмування - такій методології програмування, яка заснована на представленні програмного продукту у вигляді сукупності обєктів, кожен з яких є зліпком (екземпляром) певного класу, а класи утворюють ієрархію на принципах спадкоємства. Таким чином, при обєктно-орієнтованому підході зникає поняття виконуваної програми. Рішення поставленої задачі зводиться до побудови необхідних класів, і управління створюваними ними обєктами-екземплярами.
Фундаментальна концепція OOP полягає в тому, що обєкти і класи взаємодіють один з одним шляхом передачі повідомлень. Для цього необхідно, щоб обєкти визначалися разом з повідомленнями, на які вони реагують, на відміну від процедурного стилю програмування, коли спочатку визначаються дані, які потім передаються в процедури (функції) як параметри. При цьому засобом програмування виступає одна з обєктно-орієнтованих мов програмування.
Мова програмування називається обєктно-орієнтованою, якщо є підтримка обєктів як абстракцій даних, що мають інтерфейсну частину у вигляді пойменованих операцій, і захищену область локальних даних;
· всі обєкти відносяться до відповідних типів (класам);
· класи можуть успадковувати від суперкласів.
· будь-які дані зберігаються як обєкти, що розміщуються з автоматичним виділенням і звільненням памяті. Обєкт існує в системі до тих пір, поки його можна іменувати.
Останній принцип відрізняє чисті обєктно-орієнтовані мови такі як Smalltalk, Actor, від гібридних мов програмування, що виросли з раніше існуючих процедурних мов (Object Pascal, C++). Ці підходи - як би крайнощі в сімействі обєктно-орієнтованих мов. Ближче до середини лежить абсолютно новий, повністю побудований на принципах обєктно-орієнтованої ідеології, але все таки останній принцип, що порушує, мова Java.
2. Обєктно-орієнтовані мови програмування
Обєктно-орієнтовані мови програмування користуються останнім часом великою популярністю серед програмістів, оскільки вони дозволяють використовувати переваги обєктно-орієнтованого підходу не тільки на етапах проектування і конструювання програмних систем, але і на етапах їх реалізації, тестування і супроводу.
Перша обєктно-орієнтована мова програмування Simula 67 була розроблена в кінці 60-х років в Норвегії. Автори цієї мови дуже точно вгадали перспективи розвитку програмування: їх мова набагато випередила свій час. Проте сучасники (програмісти 60-х років) опинилися не готові сприйняти цінності мови Simula 67, і вона не витримала конкуренції з іншими мовами програмування (перш за все, з мовою Fortran). Прохолодному відношенню до мови Simula 67 сприяла і та обставина, що вона була реалізована як мова, що інтерпретувалася (а не компільований), що було абсолютно неприйнятним в 60-і роки, оскільки інтерпретація повязана із зниженням ефективності (швидкості виконання) програм.
Але достоїнства мови Simula 67 були відмічені деякими програмістами, і в 70-і роки було розроблено велике число експериментальних обєктно-орієнтованих мов програмування: наприклад, мови CLU, Alphard, Concurrent Pascal і ін. Ці мови так і залишилися експериментальними, але в результаті їх дослідження були розроблені сучасні обєктно-орієнтовані мови програмування.
Огляд деяких сучасних обєктно-орієнтованих мов програмування.
Smalltalk
Мова Smalltalk була розроблена командою Xerox Palo Alto Research Center Learning Research Group як програмна частина Dynabook - фантастичного проекту Алана Кея. В основу були покладені ідеї Simula.. Smalltalk є одночасно і мовою програмування, і середовищем розробки програм. Це чисто обєктно-орієнтована мова, в якій абсолютно все розглядається як обєкти; навіть цілі числа - це класи. Услід за Simula, Smalltalk є найважливішою обєктно-орієнтованою мовою, оскільки вона не тільки зробила вплив на подальші покоління мов програмування, але і заклала основи сучасного графічного інтерфейсу користувача, на яких безпосередньо базуються інтерфейси Macintosh, Windows і Motif.
Відомо пять випусків мови Smalltalk, що позначаються по року їх появи: Smalltalk-72 -74. -76, -78, -80. Реалізації 1972 і 1974 років заклали основу мови, зокрема ідею передачі повідомлень і поліморфізм, хоча механізм спадкоємства ще не зявився. У подальших версіях повноправне громадянство отримали класи; цим досягла завершення точка зору, що все складається з обєктів. Smalltalk-80 був перенесений на багато компютерних платформ.
В основу мови покладено дві прості ідеї:
· все є обєктами;
· обєкти взаємодіють, обмінюючись повідомленнями.
Великим недоліком Smalltalk є великі вимоги до памяті і низька продуктивність отриманих програм. Це повязано з не дуже вдалою реалізацією обєктно-орієнтованих особливостей.
C++
Мова програмування C++ була розроблена Бьерном Страуструпом, співробітником At&t Bell Laboratories. Безпосереднім попередником C++ є З with Classes, створений тим же автором в 1980 році. Мова З with Classes, у свою чергу, була створена під сильним впливом З і Simula. C++ - це в значній мірі надбудова над С. В певному значенні можна назвати C++ покращуваним З, тим З, який забезпечує контроль типів, перевантаження функцій і ряд інших зручностей. Але головне в тому, що C++ додає до З обєктну орієнтованість.
Відомо декілька версій C++. У версії 1.0 реалізовані основні механізми обєктно-орієнтованого програмування, такі як одиночне спадкоємство і поліморфізм, перевірка типів і перевантаження функцій. У створеній в 1989 році версії 2.0 знайшли віддзеркалення багато додаткових властивостей, що виникли на базі широкого досвіду застосування мови численним співтовариством користувачів. У версії 3.0 (1990) зявилися шаблони і обробка виключень. C++ продовжує удосконалюватися і в даний час, так в 1998 році вийшла нова версія стандарту, що містить в собі деякі досить істотні зміни. Мова стала основою для розробки сучасних великих і складних проектів.
Common Lisp Object System (CLOS)
На початку 80-х років під впливом ідей обєктно-орієнтованого програмування виникла серія нових діалектів Lisp, багато хто з яких був орієнтований на представлення знань. Успіх в стандартизації Common Lisp стимулював спроби стандартизувати обєктно-орієнтовані діалекти в 1986 році.
Оскільки новий діалект повинен був стати надбудовою над Common Lisp, він отримав назву Common Lisp Object System (Обєктна система Common Lisp) або, скорочено, - CLOS. Серйозний вплив на проект CLOS зробили мови Newflavors і Commonloops. Після дворічної роботи, в 1988 році була опублікована повна специфікація CLOS.
CLOS повинен бути:
· бути стандартним розширенням мови, що включає всі найбільш корисні властивості існуючої обєктно-орієнтованої парадигми;
· забезпечити ефективний і гнучкий інтерфейс програміста, що дозволяє реалізувати більшість прикладних завдань;
· проектуватися як розширюваний протокол, так, щоб можна було змінювати його поведінку, тим самим стимулюючи подальші дослідження в області обєктно-орієнтованого програмування .
Не підтримуючи безпосередньо механізм довготривалих обєктів, CLOS має розширення з протоколом метаобектів, що реалізовують цей механізм .
Ada
У 1983 році під егідою Міністерства Оборони США була створена мова Ada. Мова чудова тим, що дуже багато помилок може бути виявлено на етапі компіляції. Крім того, підтримуються багато аспектів програмування, які часто віддаються на відкуп операційній системі (паралелізм, обробка виключень). У 1995 році був прийнятий стандарт мови Ada 95, яка розвиває попередню версію, додаючи в неї объекно-ориентированность і виправляючи деякі неточності. Обидві ці мови не отримали широкого розповсюдження поза військовими і іншими великомасштабними проектами (авіація, залізничні перевезення). Основною причиною є складність освоєння мови і достатньо громіздкий синтаксис.
Безпосередніми попередниками Ada є Pascal і його похідні, включаючи Euclid, Lis, Mesa, Modula і Sue. Були використані деякі концепції Algol-68, Simula, CLU і Alphard.
Розробники Ada перш за все турбувалися про:
· надійності і експлуатаційних якостях програм;
· програмуванні як різновиді людської діяльності;
· ефективності.
Eiffel
Автор Eiffel Бертран Мейер (Bertrand Meyer) створював не тільки мову обєктно-орієнтованого програмування, але і інструмент проектування програм.
Не дивлячись на сильний вплив Simula, Eiffel - цілком самостійна обєктно-орієнтована мова зі своїм власним середовищем розробки. Eiffel підтримує динамічне скріплення і статичну типізацію, тим самим забезпечуючи гнучкість інтерфейсів класів у поєднанні з безпечним використанням типів. У Eiffel є декілька важливих рис, що підтримують жорсткіший стиль програмування, зокрема класи, що параметризуються, твердження і виключення. Мейєр вважає, що узагальнені класи добре доповнюють спадкоємство, враховуючи горизонтальний рівень спільності; нові класи на одному рівні ієрархії можна створювати, використовуючи тип як параметр, а не створюючи практично однакові підкласи.
Невідємною частиною мови є умови поста, тобто твердження, які повинні виконуватися при вході в метод і виході з нього. Порушення твердження викликає виняткову ситуацію. Її можна перехопити, обробити і спробувати викликати той же метод ще раз.
Eiffel заохочує хороше програмування, добротну специфікацію класів, сильну типізацію і повторне використання, як через спадкоємство, так і через параметризацію. Формальне трактування виняткових ситуацій дозволяє жорстко специфікувати інтерфейси класів при реалізації.
Eiffel надає закінчене середовище розробки програм, включаючи спеціальний редактор з виділенням синтаксису, генератор документації, бібліотеки класів і броузер. Крім того, підтримуються засоби управління кодом і збіркою програм.
Java
З 1995 року почала широко розповсюджуватися нова обєктно-орієнтована мова програмування Java, орієнтована на мережі компютерів і, перш за все, на Internet. Синтаксис цієї мови нагадує синтаксис мови C++, проте ці мови мають мало загального. Java мова, що інтерпретується: для неї визначено внутрішнє уявлення (bytecode) і інтерпретатор цього уявлення, які вже зараз реалізовані на більшості платформ. Інтерпретатор спрощує відладку програм, написаних на мові Java, забезпечує їх переносимість на нові платформи і адаптується до нових оточень. Він дозволяє виключити вплив програм, написаних на мові Java, на інші програми і файли, що є на новій платформі, і тим самим забезпечити безпеку при виконанні цих програм. Ці властивості мови Java дозволяють використовувати його як основна мова програмування для програм, поширюваних по мережах (зокрема, по мережі Internet).
Object Pascal
Object Pascal створювався співробітниками компанії Apple Computer (деякі з яких були учасниками проекту Smalltalk) спільно з Никлаусом Віртом (Niklaus Wirth), творцем мови Pascal. Object Pascal відомий з 1986 року і є першою обєктно-орієнтованою мовою програмування, яка була включена в Macintosh Programmers Workshop (MPW), середовище розробки для компютерів Macintosh фірми Apple.
У цій мові немає методів класу, змінних класу, множинного спадкоємства і метаклассов. Ці механізми виключені спеціально, щоб зробити мову простою для вивчення початкуючими "обєктними" програмістами.
Система візуального обєктна-орієнтовного проектування Delphi.
Поява Delphi не могло пройти не поміченим серед багатьох користувачів компютерів. Оцінки експертів, які вивчали можливості цього нового продукта фірми Borland, зазвичай схвального типу. Основне достоїнство Delphi є в тому, що тут реалізована ідея візуального програмування. Середовище візуального програмування перетворює процес створення програми в задоволення і легко зрозумілий конструйований додаток з великого набору графічних і структурних примітивів.
Система Delphi дозволяє вирішувати багато задач, зокрема:
o Створювати закінченні додатки для Windows самого різного напрямку, від обчислювальних і логічних, до графічних і мультимедійних.
o Швидко створювати (навіть початківцям) віконний інтерфейс з професійним виглядом для різних додатків.
o Створювати потужні системи роботи з локальними і віддаленими базами даних.
o Створювати довідкові системи (файли .hlp) для своїх додатків і багато іншого.
Delphi - система, яка досить швидко розвивається. Перша версія - Delphi 1.0 була видана в лютому 1995 році. А потім нові версії випускалися щороку.
Кожна наступна версія Delphi доповнювала попередню. Більшість версій Delphi видається в декількох варіантах: Standart - стандартному, Professional - професійному, ClientServer - клієнтсервер, Enterprise - розробка баз даних предметних областей. Останні варіанти - ClientServer і Enterprise, в цьому відношенні найбільш потужні.
Висновки
Обєктно-орієнтовані системи дають ширший спектр багатократного використання текстів програм. Бібліотек обєктів також можна набувати від незалежних постачальників. В даний час найактивніше купують такі бібліотеки класів для створення призначених для користувача інтерфейсів з піктограмами. Розробка і написання таких інтерфейсів з нуля - завдання нелегке. Компанії типу Apple і Whitewater Group поставляють інструментарії для швидкої побудови таких інтерфейсів на основі декількох базових класів типу Window, Menu, Scrollbar і Icon. Користувачі можуть використовувати як ці класи, так і їх підкласи, що додають в інтерфейс, наприклад, спеціальні піктограми.
ООС легко підтримуються. Четверта перевага полягає в способі комплектування обєктно-орієнтованих програмних модулів. Традиційне ПО складається з даних і процедур, здійснюючий доступ і зміну даних. Дані і процедури комплектуються окремо, тому зміна структури даних впливає на різні модулі, написані різними користувачами. У обєктно-орієнтованій системі дані і процедури розглядаються разом як частина одного пакету - обєкту. При зміні даних всі задіяні процедури легко ідентифікуються і змінюються одночасно. Оскільки зміна розповсюджується тільки на одну область системи, його побічний вплив на всю систему зменшується.
Унаслідок цих переваг, а також ще ряду причин, ООП є в даний час найперспективнішим, поширенішим і ефективнішим напрямом в програмуванні.
Використана література:
1. Г. Буч «Объектно-ориентированный анализ и проектирование с примерами приложений на С++» Пер. с англ. - М.: Бином; СПб.: Невский диалект, 1999.
2. В. Фаронов «Deiphi 6» - СПб.: Питер, 2002.
3. Э. Ишкова «C++ начала программирования» - М.: Бином, 2001.
4. С. Немнюгин, Л. Перколаб «Изучаем Turbo Pascal» - СПб.: Питер, 2002.
Контрольная работа | Концепция информатизации Российской Федерации |
Контрольная работа | Причины агрессивного поведения. Методы работы с агрессивными детьми |
Контрольная работа | Алгоритм выбора и реализации предпринимательской идеи |
Контрольная работа | Современные методы арт-терапии |
Контрольная работа | Системы управления взаимоотношения с клиентами |
Контрольная работа | Учет материальных затрат в бухгалтерском учете |
Контрольная работа | Геополитическое положение России |
Контрольная работа | Особенности вознаграждения работников в организации |
Контрольная работа | Виды запасов |
Контрольная работа | Психоанализ |
Контрольная работа | Контрольная работа по Аудиту 2 |
Контрольная работа | Восточный вопрос во внешней политике России ХIХ в. |
Контрольная работа | Соціальні інститути, соціальні організації, їх роль у житті суспільства |
Контрольная работа | Учёт собственного капитала |
Контрольная работа | Кривошипно-шатунный механизм |