Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы ООП - 2014.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
82.43 Кб
Скачать

Лабораторная работа 2. «Кнопки и Формы»

Тип приложения: GUI; язык: без ограничений.

Создание простейшего приложения с графическим интерфейсом пользователя (GUI) в любой среде (Visual Studio - Windows Forms Application; C++ Builder - VCL Application).

  • Создание простейшего приложения с GUI

    • форма

    • меню, пункты меню

    • добавлять на форму разнообразные стандартные объекты и изучать их свойства, влияющие на внешний вид и поведение

  • Управление простейшими событиями (при происходящих событиях должна появляться какая-либо реакция приложения, позволяющая понять, что событие произошло)

    • нажатие мыши

    • выбор пункта меню

    • нажатие клавиши

    • перерисовка

  • Управление событиями, влияние объектов друг на друга (при каком-либо событии, связанным с одним объектом, должно что-то меняться в другом объекте)

  • Динамическое создание и уничтожение объектов интерфейса:

    • создание элементов интерфейса как реакция на события: при нажатии мышкой на любое место на форме, должен создаваться объект любого типового класса (например, кнопка).

В рамках лабораторной работы необходимо изучить (знать, для каких целей используются и как работают) все стандартные элементы управления:

  • В случае Visual Studio - Windows Forms Application: все компоненты с закладок «Стандартные элементы управления», «Контейнеры».

  • В случае C++ Builder - VCL Application: все компоненты с закладок «Standard», «Additional», «Win32», «System».

Лабораторная работа 3. «Хранилище»

Тип приложения: консольное; язык: без ограничений.

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

  • Функции хранилища объектов

    • добавление объектов

    • удаление объектов

    • переход по объектам (текущий, предыдущий, последующий, проверка наличия)

    • получение очередного объекта из хранилища

    • поочередное обращение к каждому объекту хранилища; вызов функций, реализуемых всеми классами объектов хранилища

Хранилище должно представлять собой объект, создаваемый и используемый в основной программе. Хранилище должно вести себя или как массив, или как список (на выбор студента). Основная программа должна демонстрировать использование основных функций хранилища.

Если хранилище представляет собой массив, то работа с ним в основной программе должна выглядеть примерно так:

// создаем хранилище

MyStorage storage(10);

// добавляем в него объекты

for (int i=0; i<storage.getCount(); i++)

storage.setObject(i, new SomeObject());

// обращаемся поочередно ко всем

for (int i=0; i<storage.getCount(); i++)

storage.getObject(i).someMethod();

Если хранилище представляет собой список, то работа с ним в основной программе должна выглядеть примерно так:

// создаем хранилище

MyStorage storage();

// добавляем в него объекты

for (int i=0; i<10; i++)

storage.add(new SomeObject());

// обращаемся поочередно ко всем

for (storage.first(); !storage.eol(); storage.next())

storage.getObject().someMethod();

Хранилище должно позволять добавлять, удалять объекты в случайной последовательности, корректно обрабатывать подсчет текущего количества объектов в хранилище (с учетом возможных «пустых мест» после удаления каких-то объектов) и динамически увеличивать свой размер, если добавляется больше объектов, чем было предусмотрено изначально.