Алгоритмічна і об'єктна декомпозиції. Класи і об'єкти
Принципово можна виділити 2 види розбиття предметної області на елементи, що становлять:
• Алгоритмічна декомпозиція(основні елементи програми-будівельні блоки-алгоритми).
• Об'єктна декомпозиція(основні елементи програми-види абстракцій(класи)іпредставники цих класів (об'єкти)).
Відповідно до алгоритмічної декомпозиції предметної області при аналізі завдання ми
намагаємося зрозуміти, які алгоритми необхідно розробити для її вирішення, які специфікації цих алгоритмів (вхід, вихід), і як ці алгоритми зв'язані один з одним. У мовах
3
програмування даний підхід повною мірою підтримується засобами модульного програмування (бібліотеки, модулі, підпрограми).
В рамках об'єктної декомпозиції ми намагаємося виділити основні змістовні елементи завдання, розбити їх на типи ( класи). Далі для кожного класу абстракцій ми визначаємо його властивості (дані) і поведінку (операції), а також, як ці класи абстракцій взаємодіють один з одним.
На сьогоднішній день об'єктний підхід і його основи - об'єктна модель і об'єктна декомпозиція - підтримуються усіма сучасними об'єктно-орієнтованими мовами програмування (Object Pascal, C++, Java, C#.).
Складові частини об'єктного підходу
Розглянемо стисло складові частини об'єктного підходу, грамотне виконання яких, як правило, приводить до створення якісного програмного продукту.
|
|
Об'єктний підхід:
• OOA (object oriented analysis) - об'єктно-орієнтований аналіз.
• OOD (object oriented design) - об'єктно-орієнтоване проектування.
• OOP (object oriented programming) - об'єктно-орієнтоване програмування.
Що означають ці ключові поняття [1]:
Об'єктно-орієнтований аналіз -це методологія,при якій вимоги до системи
сприймаються з погляду класів і об'єктів, виявлених в предметній області. Об'єктно-орієнтоване проектування -це методологія проектування,що сполучає в
собі процес об'єктної декомпозиції і прийоми уявлення логічною і фізичною, а також статичної і динамічної моделей проектованої системи.
Об'єктно-орієнтоване програмування -це методологія програмування,заснована напредставленні програми у вигляді сукупності об'єктів, кожен з яких є екземпляром певного класу, а класи утворюють ієрархію спадкоємства.
У російськомовній і україномовній літературі , як правило, під абревіатурою ООП розглядають всі 3 складових об'єктного підходу. Далі і ми слідуватимемо цьому принципу.
Курси з циклу "Методи програмування" і, конкретніше, "Об'єктно-орієнтоване програмування" переважно концентруються на OOP. Даний курс, принаймні, його теоретична частина основна увага приділяє OOA і OOD.
|
|
Принципи об'єктного підходу
Розглянемо найбільш важливі принципи об'єктного підходу.
Абстрагуваннязастосовується при вирішенні багатьох завдань.Будь-яка побудовананами модель дозволяє абстрагуватися від реального об'єкту, підміняючи його вивчення дослідженням формальної моделі. Абстрагування в ООП дозволяє виділити основні елементи наочної області, що володіють однаковою структурою і поведінкою. Таке розбиття на класи дозволяє істотно полегшити аналіз і проектування системи.
Інкапсуляція - найважливіший елемент об'єктного підходу. Суть його полягає в приховуванні деталей внутрішньої реалізації. Інкапсуляція робить позитивний вплив на захист даних і істотно підвищує шанси безболісної заміни однієї з частин системи її новою версією за умови збереження інтерфейсу.
Ієрархіядопомагає розбити завдання на рівні і поступово її вирішувати,поступовозбільшуючи деталізацію розгляду. Ієрархія упорядковує абстракції. На щастя, різні ієрархії можна виявити практично в будь-якій системі. Агрегація і спадковість - приклади таких ієрархій. Вони підкреслюють той факт, що нові абстракції можуть бути створені на основі тих, що вже існують.
|
|
Поліморфізмдозволяє мати природні імена і виконувати дії,релевантні ситуації,розбираючись на етапі роботи програми, яким з методів необхідно викликати. Поліморфізм нерозривно пов'язаний із спадкоємством і пізнім скріпленням.
4
Дата добавления: 2018-05-09; просмотров: 1427; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!