У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


«Технологія програмування та створення програмних продуктів»

«Технологія програмування та створення програмних продуктів»

Парадигми програмування. 2. Об’єктно-орієнтовна парадигма програмування . 3. Основні терміни та визначення моделі проектування.

Як у будь-якому виді діяльності в програмуванні існує своя технологія: – це знання, правила, навички та інструменти, що дозволяють одержувати гарантований якісний результат. Але саме по собі дотримання ряду правил не дає гарантію якості результату. Це пояснюється специфікою програмування. По–перше, це не наука, де знання якої–небудь формули дозволяє однозначно вирішити задачу, підставивши в неї вихідні дані й одержавши результат. По–друге, ці правила необхідно дотримувати не стільки на папері, скільки в голові. Тобто технологія програмування – це швидше за все спосіб організації процесу обмірковування програми, ніж її запису. Зі сказаного випливає, що якщо людина, яка пише програму – мислить, то вона вже дотримується певної технології програмування, навіть не підозрюючи про це. Найпростіший метод полягає в написанні програми відразу від початку до кінця, без використання яких–небудь загальних принципів, тобто "як заманеться".

Розглянемо найбільш відомі з технологій:–

метод "північно–західного" кута (мається на увазі аркуш паперу або екран монітора). Програма пишеться відразу від початку до кінця, без використання яких–небудь загальних принципів;–

технологія структурного програмування, у ній передбачається дотримувати принципів модульності, нисхідного і покрокового проектування програм, одночасного проектування програм і структур даних.–

технологія об'єктного програмування – пов'язана з використанням понять об'єктів та їхніх класів при проектуванні програми.

Парадигма програмування. Проблема "Що є первинним – курка чи яйце?" стосовно до програмування звучить як парадигма: "Що є первинним: алгоритм (процедура, функція) чи оброблювані ними дані". У традиційній технології програмування взаємовідносини процедури – дані мають більш–менш вільний характер, причому процедури (функції) є ведучими у цій зв'язці: як правило, функція викликає функцію, передаючи дані один одному по ланцюгу. Відповідно, технологія структурного проектування програм насамперед приділяє увагу розробці алгоритму.

У технології ООП взаємовідносини даних і алгоритму мають більш регулярний характер: по-перше, клас (базове поняття цієї технології) поєднує в собі дані (структурована змінна) і методи (функції). По-друге, схема взаємодії функцій і даних принципово інша. Метод (функція), який викликається для одного об'єкта, як правило, не викликає іншу функцію безпосередньо. Для початку він повинен мати доступ до іншого об'єкту (створити, одержати вказівник, використовувати внутрішній об'єкт у поточному і т.д.), після чого він вже може викликати для нього один з відомих методів. Таким чином, структура програми визначається взаємодією об'єктів різних класів між собою. Як правило, має місце ієрархія класів, а технологія ООП може бути названою ще як програмування "від класу до класу".

Поняття об'єкта, класу об'єктів. Центральними в ООП є поняття класу та об'єкта. Образно кажучи, ООП полягає не стільки у використанні класів і об'єктів у програмі, скільки в заміні принципу програмування "від функції до функції" принципом програмування "від класу до класу".

Технологія ООП насамперед накладає обмеження на способи представлення даних у програмі. Будь-яка програма відображає в них стан фізичних предметів або абстрактних понять (назвемо їх об'єктами програмування), для роботи з якими вона призначена. У традиційній технології варіанти представлення даних можуть бути різними. В гіршому випадку програміст може "рівномірно розмазати" дані про деякий об'єкт програмування по всій програмі. На противагу цьому всі дані про об'єкт програмування і його зв'язки з іншими об'єктами можна об'єднати в одну структуровану змінну. У першому наближенні її можна назвати об'єктом. Крім того, з об'єктом зв'язується набір дій, які названі ще методами. З погляду мови програмування це функції, що одержують як обов'язковий параметр – вказівник на об'єкт. Технологія ООП забороняє працювати з об'єктом інакше, ніж через методи, тобто внутрішня структура об'єкта прихована від зовнішнього користувача. Опис великої кількості однотипних об'єктів називається класом.

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

Клас – опис великої кількості таких об'єктів та виконуваних над ними дій.

Це означення можна проілюструвати засобами класичного Сі:

struct myclass

{ int data1;

...

};void method1(struct myclass *this,...)

{ ... this–>data1 ... }

void method2(struct myclass *this,...)

{ ... this–>data1 ... }

struct myclass obj1, obj2;

... method1(&obj1,...); ... method2(&obj2,...);

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

Об’єктно-орієнтоване програмування (ООП) – це сукупність понять (клас, об'єкт, інкапсуляція, поліморфізм, наслідування), прийомів їхнього використання при проектуванні програм, а Сі++ – інструмент цієї технології.Строге дотримання технології ООП допускає, що будь-яка функція в програмі являє собою метод для об'єкта деякого класу. Це не означає, що потрібно вводити в програму які-небудь класи заради того, щоб написати необхідні для роботи функції. Навпаки, клас повинен формуватися в програмі природним шляхом, як тільки в ній виникає необхідність опису нових фізичних предметів або абстрактних понять (об'єктів програмування). З іншого боку, кожен новий крок у розробці алгоритму також повинен являти собою розробку нового класу на основі вже існуючих. Зрештою, вся програма в такому вигляді являє собою об'єкт деякого класу з єдиним методом run (виконати). Саме цей перехід (а не поняття класу й об'єкта, як такі) створює психологічний бар'єр перед програмістом, що освоює технологію ООП.Програмування "від класу до класу" містить у собі ряд


Сторінки: 1 2