лучшие книги по экономике
Главная страница

Главная

Замовити роботу

Последние поступления

Форум

Создай свою тему

Карта сайта

Обратная связь

Статьи партнёров


Замовити роботу
Книги по
алфавиту

Б
В
Г
Д
Е
Ж
З
И
К
Л
М
Н
О

Перспективні технологічні засоби оброблення інформації

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]

  НАВЧАЛЬНО-МЕТОДИЧНЕ
ЗАБЕЗПЕЧЕННЯ
ДО ТЕМ ДИСЦИПЛІНИ

 

 


Тема 1. Об’єктно-орієнтований підхід
до створення програмних засобів

1.1. Методичні вказівки до вивчення теми

1.1.1. Основні поняття і концепції
об’єктно-орієнтованого підходу

Програмування, по суті, існує для того, щоб людина могла у формі, «зрозумілій» комп’ютеру, викласти своє уявлення про об’єкти реального світу і способи їх взаємодії. Засобом побудови моделі частини реального світу, за допомогою якої людина передає свої знання комп’ютеру, є мова програмування. При цьому мова програмування визначає не тільки форму опису моделі, а й значною мірою і саму модель. Це пояснюється тим, що будь-яка мова містить у собі певну систему термінів і понять, у рамки яких розробник (або розробники) «утискує», часто підсвідомо, свою програму ще на етапі аналізу та проектування. Звільнитися від диктату мови неможливо та, мабуть, і не потрібно. Бажаним виходом із цієї ситуації є використання на всіх етапах розроблення програми системи понять, наближеної до тієї, якою користуються спеціалісти з відповідної предметної області. У такому випадку отримана модель предметної області буде найдостовірнішою, перекручування задумів за їх утілення — найменшими, а сам процес розроблення потребуватиме менше зусиль.
Саме такий підхід і пропонує об’єктно-орієнтована методологія розроблення програмних засобів. Вона з успіхом використовує природню схильність людського мислення до класифікації й абстрагування. Об’єкти, їх властивості, подібність об’єктів та їх розбіжності, ієрархія об’єктів — з цими поняттями людина повсякчасно стикається у своєму повсякденному житті. Вони є звич­ними та інтуїтивно зрозумілими.
Якщо при традиційному (функціональному) програмуванні програма розглядається і проектується як набір процедур, кожна з яких виконує певні дії, то об’єктно-орієнтована методологія передбачає зовсім інший підхід, за якого насамперед слід шукати відповіді на такі питання: якій набір даних характеризує стан того чи іншого об’єкта; як цей об’єкт повинен реагувати на те чи інше звернення до нього; що є спільного між об’єктами, тобто як їх можна згрупувати чи як їх можна об’єднати; як об’єкти мають взаємодіяти з користувачем; які запити можуть бути направлені об’єктам?
Об’єктно-орієнтована методологія розроблення програмних засобів складається з трьох компонентів: об’єктно-орієнтованого аналізу, об’єктно-орієнтованого проектування та об’єктно-орієн­тованого програмування. Секрет найбільш раціонального використання цієї методології криється в ретельному аналізі поводження, взаємозв’язку й характеристик об’єктів предметної області. Правильно проведений аналіз із найбільшою ймовірністю приведе до розуміння суті проблеми і в остаточному підсумку дасть більш достовірну модель і, отже, більш якісні програми. Але це непроста задача і тому треба прискіпливо розглянути концепцію об’єктно-орієнтованої методології. Її вивчення слід починати з виявлення особливостей та недоліків функціонального підходу до розроблення інформаційних систем і шляхів утвердження нової концепції.
Вивчаючи об’єктно-орієнтований аналіз треба приділити особливу увагу тим видам робіт, які потрібно виконати на кожному з його етапів, і способам документування результатів аналізу.
Основна мета об’єктно-орієнтованого проектування полягає у правильному поділі програмного виробу на складові. Отже, насамперед слід розглянути набір базових концепцій, використовуваних для структурування системи відповідно до структур об’єктної моделі предметної області.
На етапі програмування об’єктно-орієнтований проект реалізується у вигляді програмного коду. Для цього можуть бути використані різні інструментальні засоби. Але будь-яка «гарна програма» обов’язково повинна мати такі очевидні властивості:

  • потребувати мінімальних витрат на перепрограмування, при внесенні додаткових можливостей або модифікуванні існуючих;
  • допускати повторне використання свого коду для розроблення інших програм.

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

1.1.2. Об’єктні моделі програмних продуктів
фірми Microsoft

Більшість добре відомих програмних продуктів фірми Micro­soft, таких як Word, Excel, Access та Internet Explorer, складаються з об’єктів, які доступні будь-яким іншим зовнішнім програмам через механізм OLE Automation.
Так, у пакеті програм MS Office налічується кілька сотень уніфікованих класів об’єктів, представлених у вигляді декількох бібліотек. Є бібліотеки зі спільними для всіх програм об’єктами (класами). Таких об’єктів в MS Office понад 50 %. Крім того, кожна програма MS Office має свою власну бібліотеку класів.
Усі власні бібліотеки програм будуються за однаковими прин­ципами:

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

У результаті кожна програма може бути представлена у вигляді об’єктної моделі. За її допомогою можна визначити, інтерфейси яких компонентів можуть бути використані програмістами в їх програмах і як ці компоненти співвідносяться один з одним.
Фрагменти верхнього рівня об’єктних моделей програм Word, Excel, Access та Internet Explorer наведено у додатках 1—4. У моделях цих програм об’єкти розташовуються у певній ієрархічній послідовності згідно з відношенням типу «складається з». Так, робочі книги (Workbooks) входять до складу програми Excel, а робочі аркуші (Worksheets) — до складу робочої книги.
Аналізуючи структуру об’єктних моделей програм фірми Microsoft, можна відмітити таке:

  • для більшості програм (Excel, Word, PowerPoint, Access, Outlook) кореневим об’єктом є об’єкт Application. Для Internet Explorer — це об’єкт Window;
  • серед об’єктів, вкладених в об’єкт Application, є основні, які задають специфіку програми. Це такі об’єкти, як об’єкт Work­book (робоча книга Excel), об’єкт Document (документ Word), об’єкт Presentation (презентація PowerPoint), об’єкт Report (звіт Access);
  • є об’єкти (CommabdBars, Dialogs, Windows, Assistant, File­Search, VBE), що входять в об’єктні моделі майже всіх застосувань пакета MS Offіce. Такі об’єкти зберігаються в бібліотеці Offіce і приєднуються до власних бібліотек кожного документа. Спільні об’єкти визначають властивості документів, необхідні для роботи з інструментальними лінійками, меню, елементами управління, стандартними діалогами тощо, створюючи таким чином однаковий інтерфейс документів у середовищі Offіce;
  • об’єктна модель Outlook значно відрізняється від моделей усіх інших застосувань. Суть у тому, що об’єктна модель цього застосування не є фіксованою і може необмежено розширюватися в міру того, як у Outlook додаються папки й підпапки.

Кінцеві користувачі звертаються до інтерфейсу об’єктів застосувань за допомогою інструментальних панелей чи меню, але до нього може безпосередньо з коду своєї програми звернутись і програміст. Це надзвичайно потужний механізм маніпулювання прикладними програмами, наприклад, офісними програмами, що мають розвинену об’єктну модель.
Склад об’єктів відповідної офісної програми можна переглянути у вікні перегляду об’єктів Редактора VBE (Visual Basic Editor) командою View/Object Browser. У вікні перегляду об’єктів можна вибрати бібліотеку і переглянути її склад. Вікно перегляду об’єктів використовується для пошуку потрібного елемента, перегляду його властивостей, методів і подій, одержання довідки за будь-яким елементом, а також для вставлення елемента в модуль.
У всіх офісних програмах об’єктом верхнього рівня, що представляє саму програму, є об’єкт з ім’ям Application, а в Internet Explorer — об’єкт з ім’ям Window.
Слід ще раз звернути увагу на те, що способом побудови об’єктів вищого рівня є вбудовування в них об’єктів нижчого рівня. Якщо в деякий об’єкт Х вкладено об’єкт Y, кажуть, що у об’єкта Х є властивість Y, і позначення Х.Y означає звернення до об’єкта Y. Об’єкт Y може бути дуже складним і в нього можуть бути вбудовані інші об’єкти. Цей ланцюжок вкладеності продовжується до термінальних (найнижчого рівня) об’єктів і для того, щоб звернутися до методу чи властивості якогось об’єкта в цьому ланцюжку, необхідно, як правило, вказати всі попередні рівні. Наприклад:
Application.ActiveWorkbook.Worksheets![Лист1].Range(«A1»).Value = 10.
У цьому прикладі властивості Value клітині А1 робочого аркуша з ім’ям Лист 1 активної робочої книги програми Excel присвоюється значення 10.
Якщо б при кожному зверненні до об’єкта потрібно було вручну набирати імена всіх попередніх, це було б значним недоліком. Але технологія інтелектуальної підтримки, використовувана в Visual Basic, дає змогу автоматизувати цей процес. Як тільки після імені об’єкта ставиться крапка, розкривається список із переліком усіх властивостей цього об’єкта. Залишається лише вибрати потрібну, натиснути клавішу Пробіл,поставити крапку і продовжити цей процес. Якщо після введення крапки список не розкривається, то це означає, що було допущено помилку. Крім того, в деяких випадках частину рівнів можна опускати. Так, наведену вище команду можна записати простіше:
Worksheets![Лист 1].Range («A1») = 10.
Елементи більшості класів можна об’єднувати в упорядковану сукупність, отримуючи таким чином новий клас — колекцію (сім’ю), який дозволяє організовувати динамічну структуру даних. Значна кількість об’єктів в офісних програмах є колекціями. Наприклад, робоча книга Workbook у Excel складається з аркушів Sheet, набір яких утворює клас-колекцію Sheets. Останній являє собою колекцію аркушів двох типів: колекцію робочих аркушів Worksheets і колекцію діаграм Charts. Тобто аркуш може бути об’єктом одного з двох класів: Worksheet або Chart.
Для посилання на об’єкт усередині колекції можна застосовувати три способи:

  • Ім’я колекції![Ім’я об’єкта]. Цей метод використовувався у вищенаведених прикладах.
  • Ім’я колекції Ім’я об’єкта»). Наприклад:

Worksheets («Лист1»).Range («A1»).Value = 10.

  • Ім’я колекції (Відносний номер об’єкта), де Відносний номер об’єкта — це цілочисельна константа або змінна. Наприклад:

Worksheets (1).Range («А1»).Value = 10.
При цьому слід мати на увазі, що в деяких колекціях нумерація об’єктів починається з нуля (в сім’ї Worksheets — з одиниці).

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]


ВНИМАНИЕ! Содержимое сайта предназначено исключительно для ознакомления, без целей коммерческого использования. Все права принадлежат их законным правообладателям. Любое использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие или полученные в связи с использованием содержимого сайта.
© 2007-2020 BPK Group.