Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Объектное представление программы






Программа включает объекты разных типов. Главными объектами программы являются объект прикладного окна класса User и объект дочернего окна класса Form или Frame. При создании объекта прикладного окна создаётся дочернее окно, 2 объекта обычных шаров класса Ball и один объект специального шара класса SpecialBall. Объекты обычных шаров сразу начинают перемещаться в границах прикладного окна, а специальный объект реагировать на отталкивание обычных шаров от стенок окна.

Каждый обычный объект шара функционирует независимо от других шаров в соответствии с потоковой функцией BallFunc или run() его собственного потока. Оттолкнувшись от стенки окна, объект каждого обычного шара генерирует событие evSpecial или уведомлдение, на которое подписан обработчик HandlerEvSpecial() или функция update() специального объекта шара. Обработчик запускает потоковую функцию BallFunc или run() этого специального объекта. В результате толщина d кольца специального объекта увеличивается и через 2 сек. восстанавливается, либо рисуется желтый круг в теченик 2 мс.

Дочернее окно содержит объект кнопки pBut и объект pListBox списка.

 

События

В программе имеются несколько событий.

Объект обычного шара генерирует событие ev или уведомление при каждом изменении его координат. Данное событие используется при перерисовке шаров в прикладном окне. На эти события всех обычных объектов должен быть подписан один обработчик HandlerEv или update(), инициирующий перерисовку окна.

Кроме этого события и уведомления объект обычного шара генерирует другое событие evSpecial или уведомление при каждом отталкивании шара от стенок прикладного окна. На это событие или уведомление должен быть подписан обработчик HandlerEvSpecial или update() специального объекта.

Также в программе используется предопределённые событие Click, генерируемое при нажатии кнопки, и событие, генерируемое при выборе цвета из интерфейсного элемента списка.

 

Потоки

 

В программе применяются кроме основного потока, реализуемого функцией Main() или main(), ещё рабочие потоки. Каждый из n+1 объектов шаров располагает собственным потоком с потоковой функцией, причём если функционирование потоковых функций обычных объектов шаров совпадают – они перемещают объекты шаров, то потоковая функция специального объекта шара отличается от них. Эта потоковая функция выполняется в течение 2 сек, поддерживая утолщение кольца или его отображение в окне.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал