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


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


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


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


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


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


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


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


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


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



Контакти
 


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






Перехід до виконання роботи

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

 

Класи, що мають бути попередньо розроблені

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

 

У якості приклада візьмемо набір класів, що описують прямокутник. Код, наведений в додатку В-1, покликаний проілюструвати та нагадати деякі підходи, застосовні в ООП, а тому не є ані лаконічним, ані оптимальним.

 

Коротко прокоментуємо цей тестовий код. Керування способом відображення фігури покладається на класи DrawingStyle, Color, ColorChannel. У якості моделі кольору обрано поширену модель RGBA, де кожний канал позначений дійсним числом від 0 до 1 (максимальне значення), про виконання цього обмеження дбають перевантажені оператори класу ColorChannel. Клас DrawingStyle також може включати, окрім даних про кольори, дані про стилі ліній чи фону тощо.

Для роботи з координатами описано шаблонний клас Vector, що є узагальненням на довільну розмірність та тип даних для збереження координат. У якості внутрішнього контейнера для даних використовується стандартний контейнер valarray, що зручний для виконання по елементних операцій над усім його вмістом. Шаблонний клас Vector для випадку дробових координат та двомірного простору (тривимірні графічні редактори не розглядаються) позначений як Vector2D.

 

Ієрархія наслідування графічних примітивів показана ланцюжком Figure (операції зі зміни стилів відображення) --- Shape (додані операції зі зміни геометрії, абстрактний шаблонний клас, що наслідується від нешаблонного) --- Rectangle (нешаблонний клас, що наслідується від шаблонного та реалізує усі нереалізовані на вищих рівнях ієрархії операції). У якості вибіркового набору операцій для фігур обрано задання обмежуючого прямокутника по 2 точкам, пересування та перевірка довільної точки на потрапляння всередину фігури.

 




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

<== попередня сторінка | наступна сторінка ==>
Q_OBJECT | Підходи до розширення класів

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

 

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


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