Jump to content

Задачи - ООП, Седмица 12, 13.05.2026

За решаване

Задача 1

warn Първо реализирайте архитектурно решение на задачата!

Ще разгледаме система за менажиране на прозорци в операционна система.

За всеки прозорец съхраняваме:

Прозореца трябва да има нужните селектори, мутатори, методи за центриране (хоризонтално, вертикално и двете), реоразмеряване на цял екран и обратно.

Разглеждаме също прозорци с рамка. Рамката заема част от всяка страна на прозореца. Трябва да се съхрняват два размера на рамката: този на горната страна (който в реалния свят би съхранявал името на прозореца, бутони за отваряне/затваряне и так. нат.) и този на останалите страни (който е много тънък и се използва главно за реоразмеряване).

Прозреца с рамка допълнително трябва да имплементира метод, който връща областта в която се намира съдържанието: размера и координатите на прозореца с извадени размерите на рамките.

Имаме и формулярен прозорец: прозорец с рамка, който съхранява неограничено количество от динамично-заделени данни по подаден тип. Реализирайте всички нужни методи и оператори за обработка на тези данни.

Имаме и диалогов прозорец: прозорец с рамка, който съхранява низово съобщение с неограничен размер. Реализирайте селектор и мутатор на това съобщение.

Финално имаме графичен прозорец: прозорец без рамка, който съхранява изображение. Всеки пиксел в изображението се представя чрез произволна целочислена стойност. Размерите на изображението са запазени в типа на прозореца.