Поняття обєктно-орієнтованого програмування. Контрольна робота.

10.07.2015

Тема: Поняття об’єктно-орієнтованого програмування

1. Основні поняття об’єктно-орієнтованого програмування

2. Об’єкт – як базове поняття в об’єктно-орієнтованому програмуванні

2.1 Інкапсуляція

2.2 Спадкування як найважливіша властивість об’єкта

2.3 Примірники об’єктних типів

5 Об’єктно-орієнтовані мови

6 Проста об’єктна модель і ссылочно-об’єктна модель

7 Мови і програмне оточення

Висновок

Список літератури

Введення

Історично склалося так, що програмування виникло і розвивалося як процедурне програмування, яке передбачає, що основою програми є алгоритм, процедура обробки даних. Об’єктно-орієнтоване програмування — це методика розробки програм, в основі якої лежить поняття об’єкта як певної структури, що описує об’єкт реального світу, його поведінку. Завдання, яке вирішується з використанням методики об’єктно-орієнтованого програмування, описується в термінах об’єктів і операцій над ними, а програма при такому підході являє собою набір об’єктів і зв’язків між ними. Іншими словами можна сказати, що об’єктно-орієнтоване програмування є методом програмування, який досить близько нагадує нашу поведінку. Воно є природною еволюцією попередніх нововведень у розробці мов програмування. Об’єктно-орієнтоване програмування є більш структурним, ніж всі попередні розробки, що стосуються структурного програмування. Воно також є модульним і більш абстрактним, ніж попередні спроби абстрагування даних і перенесення деталей програмування на внутрішній рівень.

Використання об’єктно-орієнтованого програмування є гарним рішенням при розробці великих програмних проектів. Чим проект об’ємніше і складніше, тим більше вигоди ви отримаєте при використанні об’єктно-орієнтованої технології програмування. Одним з найбільших переваг об’єктно-орієнтованого програмування є можливість багаторазового використання програмного коду. Якщо ви, наприклад, створили клас, то можете породжувати від нього нові класи і змінювати їх властивості та функціональне призначення.

як приклад об’єктно-орієнтованої мови в подальшому будемо розглядати Borland Pascal. Мовні розширення Borland Pascal надають всі засоби об’єктно-орієнтованого програмування: більшу структурованість і модульність, велику абстрактність і вбудовану безпосередньо в мову можливість повторного використання. Всі ці характеристики відповідають коду, який є більш структурованим, більш гнучким і більш легким для обслуговування.

Об’єктно-орієнтоване програмування вимагає залишити в стороні характерні уявлення про програмування, які довгі роки розглядалися як стандартні. Однак після того, як це зроблено, об’єктно-орієнтоване програмування стає простим, наочним і чудовим засобом вирішення багатьох проблем, які доставляють неприємності традиційного програмного забезпечення.

1. Основні поняття об’єктно-орієнтованого програмування

В основі об’єктно-орієнтованого програмування мовою лежать два основних поняття: об’єкт і клас. Основними характеристичними властивостями цих понять є:

Інкапсуляція — комбінування записів з процедурами та функціями, манипулирующими полями цих записів, формує новий тип даних — об’єкт (під записом розуміється змінна типу «запис»).

Спадкування — визначення об’єкта та його подальше використання для побудови ієрархії породжених об’єктів з можливістю для кожного породженого об’єкта, що відноситься до ієрархії, доступу до коду і даних всіх породжують об’єктів.

Поліморфізм — присвоювання дії одного імені, яке потім спільно використовується вниз і вгору по ієрархії об’єктів, причому кожен об’єкт ієрархії виконує цю дію способом, саме йому підходящим.

2. Об’єкт — як базове поняття в об’єктно-орієнтованому програмуванні

Поняттю «об’єкт» зіставляють ряд доповнюючих один одного визначень. Нижче наведені деякі з них.

Об’єкт — це відчутна реальність, що характеризується чітко визначеним поведінкою.

Об’єкт — особливий ця особа предмет, блок або сутність (реальна чи абстрактна), що має важливе функціональне призначення в даній предметній області.

Об’єкт може бути охарактеризований структурою, його станом, поведінкою і індивідуальністю. Стан об’єкта визначається переліком всіх можливих (зазвичай статичних) властивостей і поточними значеннями (зазвичай динамічними) кожної з цих властивостей. Властивості об’єкта характеризуються значеннями його параметрів. Поведінка об’єкта описує, як об’єкт впливає на інші об’єкти або як він піддається впливу з боку інших об’єктів з точки зору зміни його власного стану та стану інших об’єктів. Кажуть також, що поведінка об’єкта визначається його діями. Певний вплив одного об’єкта на інший з метою викликати відповідну реакцію називають операцією. В об’єктно-орієнтованих мовах програмування операції називають методами.

Можна виділити п’ять типів операцій:

— конструктор, створення і ініціалізація об’єкта;

— деструктор, що руйнує об’єкт;

— модифікатор, що змінює стан об’єкта;

— селектор для доступу до змінних об’єкта без їх зміни;

— ітератор для доступу до вмісту об’єкту по частинах у певній послідовності.

Відома й інша класифікація методів об’єкта, коли виділяють функції управління, реалізації, доступу та допоміжні функції.

Під індивідуальністю об’єкта розуміють властивість об’єкта, що дозволяє відрізняти цей об’єкт від всіх інших об’єктів.

Об’єкти можуть перебувати в певних відносинах один до одного. Ці відносини можуть бути ієрархічними. Основні ієрархічні відносини — це відносини використання і включення. Ставлення використання реалізується посилкою повідомлень від об’єкта A до об’єкта B. При цьому об’єкт A може виступати в ролі:

— активного чи впливає об’єкта, коли він впливає на інші об’єкти, але сам впливу не піддається;

— пасивного або виконуючого, коли об’єкт піддається впливу, але сам на інші об’єкти не впливає;

— посередника, якщо об’єкт та впливає і сама піддається впливу.

Відношення включення має місце, коли складовою об’єкт містить інші об’єкти.

2.1 Інкапсуляція

Об’єкти моделюють характеристики і поведінку елементів світу, в якому ми живемо. Вони є остаточною абстракцією даних.

Об’єкти містять разом всі свої характеристики і особливості поведінки. Відношення частин до цілого і взаємини між частинами стають зрозумілішими тоді, коли всі утримується разом в одній упаковці. Це і називається инкапсуляцией.

2.2 Спадкування як найважливіша властивість об’єкта

Не менш важливим є і той факт, що об’єкти можуть успадковувати характеристики і поведінка того, що ми називаємо породжують, батьківські об’єкти (або предки). Тут відбувається якісний стрибок: спадкування, можливо, є сьогодні єдиним найбільшим відмінністю між звичайним програмування на Паскалі і об’єктно-орієнтованим програмуванням в Borland Pascal.

В термінах Паскаля, об’єкт, багато в чому схожий із записом, яка є оболонкою для об’єднання декількох пов’язаних елементів під одним ім’ям.

Процес, за допомогою якого один тип успадковує характеристики іншого типу, називається спадкуванням. Спадкоємець називається породженим (дочірнім) типом, а тип, якому успадковує дочірній тип, називається породжує (батьківським) типом. Раніше відомі типи записів Паскаля не можуть успадковувати. Однак Borland Pascal розширює мова Паскаля для підтримки спадкування. Одним з цих розширень є нова категорія структури даних, пов’язана з записами, але значно потужніша. Типи даних в цій новій категорії визначаються за допомогою нового зарезервованого слова object. Тип об’єкта може бути визначений як повний, самостійний тип в манері опису записів Паскаля, але він може визначатися і як нащадок існуючого типу об’єкта шляхом приміщення породжує (батьківського) типу в дужки після зарезервованого слова object.

Велика частина конструювання об’єктно-орієнтованих прикладних програм полягає в побудові ієрархії об’єктів, що є віддзеркаленням генеалогічного дерева об’єктів в додатках.

Як показали дані визначення, об’єкти тісно пов’язані із записами. Нове зарезервоване слово object є найбільш очевидною відмінністю, але як ми побачимо пізніше, є велике число інших відмінностей, деякі з яких досить тонкі.

2.3 Примірники об’єктних типів

Примірники об’єктних типів описуються в точності так само, як у Паскалі описується будь-яка змінна, або статична, або покажчик, який посилається на розміщену в динамічній пам’яті змінну.

2.4 Поля об’єктів

Ми можемо звернутися до поля об’єкта в точності так само, як до поля звичайного запису, або за допомогою оператора with, або шляхом уточнення імені з допомогою точки.

2.5 Методи

Навіть якщо ми можемо звернутися до полів об’єкта безпосередньо, це буде не зовсім гарною ідеєю. Принципи об’єктно-орієнтованого програмування вимагають, щоб поля об’єктів були виключені з вихідного коду, наскільки це можливо. Це обмеження спочатку може здатися спірним і жорстким, але воно є лише частиною величезної картини об’єктно-орієнтоване програмування.

Відповідь полягає в тому, що при всякій можливості для доступу до полів даних повинні використовуватися методи об’єкта. Метод є процедурою або функцією, описаної в межах об’єкта і жорстко обмеженою цим об’єктом.

Методи є одними з найбільш примітних атрибутів об’єктно-орієнтованого програмування і вимагають деякої практики перед використанням.

Метод — це процедура або функція, об’єднана з даним типом настільки тісно, що метод є як би оточеним невидимим оператором with, що робить примірник даного типу доступними для зсередини методу. Визначення типу включає заголовок методу. Повне визначення методу кваліфікується в імені типу. Тип об’єкта і метод об’єкта є двома особами цієї нової різновиди структури, яка називається методом.

Одним з найважливіших принципів об’єктно-орієнтованого програмування є те, що програміст під час розробки програми повинен думати про коді та даних про спільно. Ні код, дані не існують у вакуумі. Дані управляють потоком коду, а код маніпулює образами та значеннями даних.

Якщо наш код і дані є розділеними елементами, то завжди існує небезпека виклику правильної процедури з неправильними даними або помилкової процедури з правильними даними. Турбота про збіг цих елементів покладається на програміста, і хоча сувора типізація Паскаля тут допомагає, найкраще, що він може зробити — це вказати на невідповідність.

Об’єкт здійснює синхронізацію коду і даних шляхом спільного побудови їх описів. Реально, щоб отримати значення одного з полів об’єкта, ми викликаємо відноситься до цього об’єкту метод, який повертає значення потрібного поля. Щоб присвоїти полю значення, ми викликаємо метод, який призначає цього поля нове значення.

Однак, Borland Pascal не змушує нас робити це. Як всяке структурне програмування, об’єктно-орієнтоване програмування є дисципліною, яку ми повинні нав’язати собі, використовуючи надаються мовою кошти. Borland Pascal дозволяє нам звертатися до полів об’єкта безпосередньо ззовні об’єкта, однак він заохочує нас використовувати переваги об’єктно-орієнтованого програмування та створювати методи для маніпулювання полями об’єкта всередині самого об’єкта.

Отже, підведемо деякий підсумок. Що таке об’єкт?

Об’єкт складається з структури даних і пов’язаних з нею процедур, які називаються методами), які працюють з даними, записаними в примірниках структури даних.

Об’єкт може успадковувати характеристики породжує об’єкта. Це означає, що структура даних нового об’єкта включає структуру даних породжує об’єкта, а також нові дані. Крім того, новий об’єкт може викликати всі процедури породжує об’єкта, а також ті процедури методів, які в ньому описуються.

Об’єкт, який не має спадкування, називається базовим об’єктом. Об’єкт, що успадковує характеристики інших об’єктів, називається породженим або похідним об’єктом.

2.6. Поліморфізм

Поліморфізм означає, що один і той же метод виконується по-різному для різних об’єктів. Наприклад, метод класу Музичний інструмент — PlayMusicForAnOrchestra (грай музику для оркестру) — може бути визначений як загальний метод, який може використовуватися з будь-якою категорією музичних інструментів. Цей метод написаний таким чином, що не важливо, який саме інструмент отримує завдання грати, проте для класів, що описують конкретні інструменти, цей метод повинен бути перевизначено (override), що дасть змогу визначити конкретні дії, які враховують особливості даного інструменту.

3. Поняття класу

В клас об’єднуються об’єкти з однаковими властивостями і методами.

Одним з перших дій, що вживаються людиною при спробі зрозуміти навколишній світ, є застосування до нього деякої структурної форми. При зустрічі з невідомим об’єктом ми намагаємося втиснути його в нашу існуючу структуру: іншими словами, класифікувати його. Більшість людей знайоме принаймні з кількома класифікаційними структурами або ієрархіями.

Використання ієрархії класів вводить необхідність абстракції. Класи стають більш абстрактними у міру просування вгору по ієрархії.

Об’єктно-орієнтовані мови використовують такий підхід. Ієрархії зазвичай починаються з кількох абстрактних класів. Кожен новий клас представляється як підклас існуючого класу (званого його суперкласом). Він наслідує дані і методи від класів, що стоять вище в ієрархії. Тільки ті дані і методи, які є новими для цього класу, слід визначити і реалізувати.

Клас — це абстрактне поняття, порівнянне з поняттям категорія в його звичайному розумінні.

За певними властивостями будь-якого елемента певної категорії можна встановити, що він належить до цієї категорії. Сама категорія визначається загальними властивостями, які мають всі екземпляри цієї категорії.

Це можна пояснити на прикладі музичних інструментів. Музичні інструменти поділяються на наступні категорії: духові, ударні і струнні.

Всі ці категорії належать до категорії музичних інструментів. У свою чергу, категорія музичних інструментів входить у категорію інструментів. На рис.1 ця структура категорій графічно представлена у вигляді дерева.

Музичні інструменти мають загальні властивості, але кожен інструмент сам по собі володіє особливими властивостями, які визначають його призначення і відрізняють його від інших інструментів. За тим же принципом можна описати і класи в ООП. Певний музичний інструмент певної категорії, наприклад труба, є об’єктом. Категорія, до якої цей інструмент належить, — це клас.

Клас в об’єктно-орієнтованому програмуванні — це абстрактний тип даних, який включає не тільки дані, але і функції і процедури.

Функції і процедури класу називаються методами і містять вихідний код, призначений для обробки внутрішніх даних об’єкта даного класу.

Наявність у класах абстрагування, яке максимально зручно для програмістів. працюють з цими класами, має першорядне значення при розробці повторно використовується. Якщо ви вибудуєте інтерфейс, на який не впливають зміни в реалізації, то вашому додатком довгий час не знадобляться ніякі модифікації. Якщо ви знайомі з предметною областю задачі, ви без праці визначте, які методи знадобляться користувачам класу. Скажімо так: якщо при проектуванні класу вам вдається поєднувати хороше знання наочної області з прогнозом щодо подальших перспектив використання класу, можна гарантувати, що більша частина інтерфейсу цього класу залишиться незмінною, навіть у разі можливого вдосконалення реалізації класу. У результаті відсторонення від деталей реалізації система в цілому стає зрозумілішою, а значить, і зручніше в роботі.

Між класами також можуть бути встановлені відносини:

— ставлення різновиди (кішка — вид певного біологічного сімейства або кішка — домашня тварина);

— включення або складової частини (лапа — частина кішки);

— асоціативності, коли між класами є чисто смислова зв’язок (кішки й собаки — домашні тварини).

4. Процес об’єктно-орієнтованого проектування
Об’єктно-орієнтоване проектування (Object-Oriented Design — OOD) — це поступальний ітеративний процес. Межа між об’єктно-орієнтованим аналізом і проектуванням розпливчаста і побудова проекту програмного виробу складається з ряду циклів, у яких уточнюються опису класів і взаємодії між ними, розробляються реалізують їх програми, проводиться їх налагодження і тестування і за результатами кожного етапу уточнюються робочі документи попередніх етапів, допрацьовуються опису класів та програми. Ці цикли повторюються до отримання необхідного результату.
У розглянутому вище прикладі були виділені класи «безліч даних» і «дане». Нехай класу «безліч даних» присвоєно ім’я TXSet.
З урахуванням наявних інструментальних засобів клас TXSet може бути побудований на основі класу Array з бібліотеки CLASSLIB, тобто це множина може бути інтерпретовано масивом. Масив являє собою упорядковану сукупність однотипних елементів, в той же час дані можуть належати різним типам і кожному тип відповідає свій набір характеристик. Це протиріччя можна подолати, якщо елементами масиву TXSet будуть вказівники на примірники даних.
Щоб використовувати покажчики на примірники даних як елементи масиву, що всі класи, що визначають типи даних, повинні бути утворені з загального базового класу.
Нехай потрібно забезпечити можливість використання числових скалярних даних і масивів (векторів і прямокутних матриць), а також даних типу рядків і масиву рядків. Природно визначити для кожного такого типу свій клас: TDScal, TDArray, TDString, TDStringArray. У кожному з цих класів має бути поле ідентифікатора даного ident, поле опису даного head і, можливо, поле flags, що представляє собою набір бітів, доповнюють опис цього. Може виявитися зручним мати і поля, що містять кількість знаків при поданні скаляр або елементів масивів (width) і кількість цифр у дробовій частині для подання чисел (dec). Всі ці дані можна об’єднати в класі TData базовому для решти класів даних. Таким чином, замість одного класу «дане», виділеного на етапі аналізу, з’явилося п’ять класів. Після цього слід повернутися до етапу аналізу і оформити робочі документи для аналізу нових класів.
Аналогічним чином слід уточнити склад і визначення інших класів, обраних на етапі аналізу.
Після визначення переліку класів слід розробити семантику кожного класу — визначити склад і призначення методів класу. При цьому також може виникнути необхідність виділення нових класів і, отже, повторення окремих частин етапу аналізу і нове уточнення раніше описаних класів.
Таким чином, процес об’єктно-орієнтованого проектування складається з циклічного виконання чотирьох основних кроків:
— Визначення класів і об’єктів на певному рівні абстракції.
— Визначення семантики класів.
— Визначення (ідентифікація) зв’язків між класами та об’єктами.
— Реалізація класів.
На кожному повторенні цього циклу уточнюються опису класів і переробляються проектні документи.

5. Об’єктно-орієнтовані мови

Інкапсуляція, спадкування і поліморфізм — фундаментальні властивості, необхідні від мови, яка претендує називатися об’єктно-орієнтованим. (Мови, що не мають успадкування та поліморфізму, але мають тільки класи, зазвичай називаються засновані на класах.) Різні об’єктно-орієнтовані мови використовують абсолютно різні підходи. Ми можемо розрізняти об’єктно-орієнтовані мови, порівнюючи механізм контролю типів, здатність підтримувати різні програмні моделі і те, які об’єктні моделі вони підтримують. Мови об’єктного програмування прийнято ділити на об’єктні, в яких існують класи і об’єкти, і об’єктно-орієнтовані, у яких програміст може не лише користуватися зумовленими класами, але і задавати власні користувальницькі класи (або створювати об’єкти, пристрій яких відрізняється від пристрою прототипів — в мовах прототипного програмування ).

Об’єктне і об’єктно-орієнтоване програмування виникло в результаті розвитку ідеології процедурного програмування. де дані і підпрограми (процедури, функції) їх обробки формально не пов’язані. Крім того, в сучасному об’єктно-орієнтованому програмуванні часто велике значення мають поняття події (так зване подієво-орієнтоване програмування) і компонента (компонентне програмування).

Об’єктно-орієнтоване програмування в даний час є абсолютним лідером в області прикладного програмування (мови Java, C#, C++, JavaScript, ActionScript та ін). У той же час в області системного програмування досі лідирує парадигма процедурного програмування, і основною мовою програмування є мова C. Хоча при взаємодії системного і прикладного рівнів операційних систем помітний вплив стали надавати мови об’єктно-орієнтованого програмування. Наприклад, мультиплатформенним стандартом стала система Qt, написана на мові C++.

Сі++ — це універсальна мова програмування, задуманий так, щоб зробити програмування більш приємним для серйозного програміста. За винятком другорядних деталей Сі++ є надмножеством мови програмування Сі. Окрім можливостей, які дає Сі, Сі++ надає гнучкі та ефективні засоби визначення нових типів. Використовуючи визначення нових типів, що точно відповідають концепціям програми, програміст може розділяти розроблювану програму на легко піддаються контролю частини. Такий метод побудови програм часто називають абстракцією даних. Інформація про типи міститься у деяких об’єктах типів, визначених користувачем. Такі об’єкти прості та надійні у використанні у тих ситуаціях, коли їх тип не можна встановити на стадії компіляції. При правильному використанні цей метод дає коротші, простіші для розуміння і легше контрольовані програми.

Першою мовою програмування, в якому були запропоновані принципи об’єктної орієнтованості, була Симула. У момент своєї появи (в 1967 році), ця мова програмування запропонував воістину революційні ідеї: об’єкти, класи, віртуальні методи та ін. однак це не було сприйнято сучасниками як щось грандіозне. Тим не менше, більшість концепцій були розвинені Аланом Кейем і Деном Ингаллсом в мові Smalltalk. Саме він став першим широко поширеним об’єктно-орієнтованою мовою програмування .

Розрізняються чисті і гібридні об’єктно-орієнтовані мови. Чисті — це ті, які дозволяють використовувати тільки одну модель програмування — об’єктно-орієнтовану. Ви можете оголошувати класи і методи, але не можете завести глобальні змінні і звичайні функції і процедури старого типу.

Серед трьох наших мов, тільки Java(і його клон C#) є чистим об’єктно-орієнтованою мовою (як Eiffel і Smalltalk). На перший погляд це здається позитивною ідеєю. Однак вона веде до того, що ви використовуєте купу статичних методів і статичних даних, що не так вже відрізняється від використання глобальних функцій і даних, за винятком більш складного синтаксису. Чисті об’єктно-орієнтовані мови дають перевагу новачкам в об’єктно-орієнтованому програмуванні, тому що програміст змушений використовувати (і вчити) модель об’єктно-орієнтованого програмування. C++ і Object Pascal, навпаки, — типові приклади гібридних мов, які дозволяють програмістам використовувати при необхідності традиційний підхід C або Pascal.

Smalltalk розширює цю ідею до рівня «обобъекчивания» таких визначених типів даних, як цілі і символи, а також мовних конструкцій (таких як цикли). Це теоретично цікаво, але сильно зменшує ефективність. Java зупиняється багато раніше, допускаючи присутність не простих об’єктно-орієнтованих типів даних (хоча є необов’язкові класи-обгортки і для простих типів).

6. Проста об’єктна модель і ссылочно-об’єктна модель

Третій елемент, за яким розрізняються мови об’єктно-орієнтованого програмування — їх об’єктна модель. Деякі традиційні мови об’єктно-орієнтованого програмування дозволяють програмістам створювати об’єкти в стеку, в купі (хіпі — heap) або в статичній пам’яті. У цих мовах змінна типу клас відповідає об’єкту в пам’яті. Так працює C++.

останнім часом з’явилася тенденція використовувати іншу модель, часто звану ссылочно-об’єктною моделлю. У цій моделі кожен об’єкт динамічно розміщується в купі, а змінна типу клас фактично є посиланням або хэндлом об’єкта в пам’яті (технічно це щось на зразок покажчика). Java і Object Pascal обидва використовують цю посилальну модель. Як ми побачимо, коротко це означає, що вам необхідно не забути виділити пам’ять для об’єкта.

7. Мови і програмне оточення

Хоча ми намагалися дослідити ці мови, тільки порівнюючи синтаксичні та семантичні характеристики, важливо розглянути їх у відповідному контексті. Мови націлені на різні потреби, що означає, що вони вирішують різні проблеми різними способами і використовуються в дуже різних середовищах програмування. Хоча як мови, так і їх середовище копіюють характеристики один одного, вони були сконструйовані для різних потреб, і в цьому ви можете переконатися, порівнюючи їх характеристики.

Мета C++ — потужність і контроль за рахунок складності. Метою Delphi є легке, візуальне програмування (не відмовляючись від потужності) і міцний зв’язок з Windows. Мета Java — мобільність, навіть за рахунок деякого відмови від швидкості, і розподілені додатки або виконуваний зміст WWW (хоча це, звичайно, — не Microsoft-івський погляд на Java!).

Можна визначити, що успіх цих трьох мов залежить не від технічних характеристик, які я включив у цю статтю. Фінансовий статус Borland, операційна система управління Microsoft, популярність Sun в світі Internet, той факт, що Java розглядається як anti-Microsoft-івський мову, майбутнє броузерів Павутини і Win32 API, роль і визнання моделі ActiveX (через пов’язаною з нею проблемою безпеки) і три рівня архітектури Delphi — це показники, які могли вплинути на ваш вибір сильніше, ніж технічні елементи. Наприклад, такий хороший мова як Eiffel, у якого Object Pascal і Java взяли не тільки деякий натхнення, ніколи не отримає реальної частки ринку, хоча він був популярний у багатьох університетах земної кулі.

Просто майте на увазі, що «модний» стає все більш частим словом в комп’ютерному світі. Як користувачі хочуть мати інструменти цього року (імовірно, з цієї причини операційні системи називаються по тому році, в якому вони випущені), програмісти люблять працювати з останнім мовою програмування і першими оволодіти ним. Можна напевно стверджувати, що Java — не останній з мов об’єктно-орієнтованого програмування, через кілька наступних років знайдеться хтось з новою мовою.

Висновок

Об’єктно-орієнтоване програмування є в даний час основою всієї індустрії прикладного програмування завдяки виграшу в конкурентній боротьбі з альтернативними технологіями програмування. В промисловому програмуванні тільки в системному програмуванні позиції об’єктно-орієнтованого програмування ще не дуже сильні. Тому, з одного боку, теоретичні міркування про непридатність об’єктно-орієнтованого програмування не відповідають спостерігається на практиці ситуації. З іншого боку, не можна вважати, що об’єктно-орієнтоване програмування у всіх випадках є найкращою з методик програмування.

Процедурне програмування краще підходить для випадків, коли важливі швидкодію і споживані ресурси, об’єктне — коли важлива керованість проекту і його можливість модифікацій, а також безпеку програм. Процедурне програмування зазвичай краще підходить для невеликих проектів, об’єктне — для великих.

Список літератури

1. Іан Грехем Об’єктно-орієнтовані методи. Принципи і практика = Object-Oriented Methods: Principles & Practice. — 3-е изд. — М. «Вільямс». 2004. — С. 880.

2. Антоні Синтес Опануй самостійно об’єктно-орієнтоване програмування за 21 день = Sams Teach Yourself Object-Oriented Programming in 21 Days. — М. «Вільямс». 2002. — 672 С..

3. Бертран Мейер Об’єктно-орієнтоване конструювання програмних систем + CD. Інтернет-університет інформаційних технологій — ІНТУЇТ.ру, Російська Редакція, 2005

4. Биллиг Ст. А. Основи програмування на C#. Інтернет-університет інформаційних технологій — ІНТУЇТ.ру, 2006

5. «Нові мови програмування та тенденції їх розвитку», Ушкова Ст. 2005 р.

Короткий опис статті: об’єктно орієнтоване програмування Читати контрольну роботу online по темі ‘Поняття об’єктно-орієнтованого програмування’. Розділ: Інформаційне забезпечення, програмування, 33, Загружено: 21.01.2011 скачати контрольну роботу

Джерело: Поняття об’єктно-орієнтованого програмування. Контрольна робота. Читать текст оnline —

Також ви можете прочитати