Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Взаємозв’язок класів

 

Види взаємозв’язків: узагальнення, асоціація, агрегація, композиція.

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

Однією з переваг С++ над Java, є множинне наслідування, яке дозволяє класу наслідувати властивості більш ніж одного базового класу, присвоюючи собі всі члени та методи всіх базових класів. Користатися множинним наслідуванням треба обережно, оскільки воно може ускладнити реалізацію проекту.

В моделі відкрите наслідування завжди є узагальненням. Загальноприйнятим виразом для опису наслідувальних взаємозв’язків при моделюванні є термін „мати” („володіти”). Взаємозв’язок типу мати моделюється з допомогою агрегації або входження або вкладеність. Наприклад, автомобіль має кермо, від 2 до 5 дверей, 4 колеса. Агрегація буде мати наступний вигляд:

 

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

 

Не менш важливою є модель взаємодії класів. Існує два різновиди схем взаємодії. Схема послідовності дій це є послідовність подій за певний проміжок часу; схема взаємодій представляє взаємодії між класами і ця схема може бути безпосередньо створена з схеми послідовності дій. Ця задача може бути автоматизована засобами Rational Rose.

Приклад:

Схема послідовності дій

Схема взаємодії

 

 

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

Наприклад:

 

Резюме

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

 




Переглядів: 459

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.