Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
labor на октябрь (с 17).doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
2.78 Mб
Скачать

Директивы, используемые при объявлении класса

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

  • Published (опубликованные)

  • Private(закрытые)

  • Protected (защищенные)

  • Public (открытые)

  • Automated (автоматизированные)

Public не накладывает ограничений на область видимости перечисляемых в ней полей, методов и свойств — их можно вызывать в любом другом модуле программы.

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

Private сужает область видимости до минимума: элементы описания, указанные в этой секции, доступны только внутри методов данного класса и подпрограмм, находящихся в том же модуле, где описан класс. Элемент, объявленный в private, не доступен даже ближайшим потомкам класса, если они размещаются в других модулях.

Protected доступна только методам самого класса, а также любым его потомкам независимо от того, находятся ли они в том же модуле или нет.

Automated используется только для объявления свойств и методов, которые будут добавлены к так называемому интерфейсу OLE-объектов автоматизации; область видимости членов этой секции не ограничена.

Порядок выполнения работы

  1. Создать приложение с использованием наследования, инкапсуляции и полиморфизма которое позволяет:

  • создавать динамический список объектов класса согласно варианту;

  • просматривать список;

  • демонстрировать применение методов к объектам.

  1. Разместить описание свойств и методов класса и подклассов в отдельном модуле. Класс должен иметь общие свойства и методы, а подклассы — свои свойства. Класс должен обязательно иметь свойство - указатель на следующий объект для организации динамической структуры.

  2. Создать виртуальные методы для формирования строки с описанием объекта и реализации вычислений.

  3. Предусмотреть обработку наиболее типичных исключительных ситуаций. При загрузке программы должна появляться заставка с краткой информацией о разработчике программы.

Возможный вид формы показан на рис. 17.1.

Рис. 17.1. Вид формы для лабораторной работы №17

Варианты

  1. Класс «Плоские фигуры», имеющий свойства (высота, основание) и методы (формирование строки с описанием объекта и вычисление площади). Описать классы-потомки: треугольник и параллелограмм. Для вычисления площадей воспользоваться формулами

и .

  1. Класс «Плоские фигуры», имеющий свойства (сторона 1, сторона 2) и методы (формирование строки с описанием объекта и вычисление периметра). Описать классы-потомки: треугольник со свойством сторона 3, и параллелограмм. Для вычисления периметров воспользоваться формулами

и .

  1. Класс «Параллелограммы», имеющий свойство (сторона 1) и методы (формирование строки с описанием объекта и вычисление периметра). Описать классы-потомки: прямоугольник со свойством сторона 2, и квадрат. Для вычисления периметров воспользоваться формулами

и .

  1. Класс «Параллелограммы», имеющий свойство (сторона 1) и методы (формирование строки с описанием объекта и вычисление площади). Описать классы-потомки: прямоугольник со свойством сторона 2, и квадрат. Для вычисления площадей воспользоваться формулами

и .

  1. Класс «Четырехугольники», имеющий свойства (сторона 1, высота) и методы (формирование строки с описанием объекта и вычисление площади). Описать классы-потомки: трапеция со свойством сторона 2, и ромб. Для вычисления площадей воспользоваться формулами

и .

  1. Класс «Круглые тела», имеющий свойство (радиус) и методы (формирование строки с описанием объекта и вычисление объема). Описать классы-потомки: цилиндр со свойством высота, и сфера. Для вычисления объема воспользоваться формулами

и .

  1. Класс «Круглые тела», имеющий свойство (радиус) и методы (формирование строки с описанием объекта и вычисление площади полной поверхности). Описать классы-потомки: цилиндр со свойством высота, и сфера. Для вычисления площади полной поверхности воспользоваться формулами

и .

  1. Класс «Круглые тела», имеющий свойство (радиус) и методы (формирование строки с описанием объекта и вычисление площади полной поверхности). Описать классы-потомки: конус со свойством высота, и сфера. Для вычисления площади полной поверхности воспользоваться формулами

и .

  1. Класс «Круглые тела», имеющий свойство (радиус) и методы: (формирование строки с описанием объекта и вычисление объема). Описать классы-потомки: конус со свойством высота, и сфера. Для вычисления объема воспользоваться формулами

и .

  1. Класс «Круглые тела», имеющий свойства (радиус, высота) и методы (формирование строки с описанием объекта и вычисление объема). Описать классы-потомки: конус и цилиндр. Для вычисления объема воспользоваться формулами

и .

  1. Класс «Круглые тела», имеющий свойства (радиус, высота) и методы (формирование строки с описанием объекта и вычисление площади полной поверхности). Описать классы-потомки: конус и цилиндр. Для вычисления площади полной поверхности воспользоваться формулами

и .

  1. Класс «Параллелепипед», имеющий свойство (сторона 1) и методы (формирование строки с описанием объекта и вычисление площади полной поверхности). Описать классы-потомки: прямоугольный параллелепипед со свойствами сторона 2, сторона 3 и куб. Для вычисления площади полной поверхности воспользоваться формулами

и .

  1. Класс «Параллелепипед», имеющий свойство (сторона 1) и методы (формирование строки с описанием объекта и вычисление объема). Описать классы-потомки: прямоугольный параллелепипед со свойствами сторона 2, сторона 3 и куб. Для вычисления объема воспользоваться формулами

и .

  1. Класс плоские фигуры, имеющий свойства: сторона и методы: формирование строки с описанием объекта и вычисление площади. Описать классы-потомки: треугольник со свойством высота и квадрат. Для вычисления площадей воспользоваться формулами

и .

  1. Класс «Плоские фигуры», имеющий свойство (сторона) и методы (формирование строки с описанием объекта и вычисление периметра). Описать классы-потомки: треугольник со свойствами сторона 1 и сторона 2 и квадрат. Для вычисления периметров воспользоваться формулами

и .

  1. Класс «Плоские фигуры», имеющий свойство (сторона 1) и методы (формирование строки с описанием объекта и вычисление площади). Описать классы-потомки: прямоугольник со свойством сторона 2 и параллелограмм со свойством высота. Для вычисления площадей воспользоваться формулами

и .

  1. Класс «Плоские фигуры», имеющий свойство (сторона 1) и методы (формирование строки с описанием объекта и вычисление площади). Описать классы-потомки: трапеция со свойствами сторона 2 и высота, и квадрат. Для вычисления площадей воспользоваться формулами

и .

  1. Класс «Плоские фигуры», имеющий свойство (сторона 1) и методы: формирование строки с описанием объекта и вычисление площади). Описать классы-потомки: треугольник со свойством высота и прямоугольник со свойством сторона 2. Для вычисления площадей воспользоваться формулами

и .

  1. Класс «Плоские фигуры», имеющий свойства (сторона 1, сторона 2) и методы (формирование строки с описанием объекта и вычисление периметра). Описать классы-потомки: треугольник со свойством сторона 3 и прямоугольник. Для вычисления периметров воспользоваться формулами

и .

  1. Класс «Плоские фигуры», имеющий свойства (сторона 1, высота) и методы (формирование строки с описанием объекта и вычисление площади). Описать классы-потомки: трапеция со свойством сторона 2, и параллелограмм. Для вычисления площадей воспользоваться формулами

и .

  1. Класс «Объемные тела», имеющий свойство (сторона или высота) и методы (формирование строки с описанием объекта и вычисление объема). Описать классы-потомки: цилиндр со свойством радиус, и куб. Для вычисления объема воспользоваться формулами

и .

  1. Класс «Объемные тела», имеющий свойство (сторона или высота) и методы (формирование строки с описанием объекта и вычисление площади полной поверхности). Описать классы-потомки: цилиндр со свойством радиус, и куб. Для вычисления площади полной поверхности воспользоваться формулами

и .

  1. Класс «Объемные тела», имеющий свойство (сторона или высота) и методы (формирование строки с описанием объекта и вычисление объема). Описать классы-потомки: конус со свойством радиус, и куб. Для вычисления объема воспользоваться формулами

и .

  1. Класс «Плоские фигуры», имеющий свойства (сторона 1, высота) и методы (формирование строки с описанием объекта и вычисление площади). Описать классы-потомки: треугольник и трапеция со свойством сторона 2. Для вычисления площадей воспользоваться формулами

и .

  1. Класс «Плоские фигуры», имеющий свойства (сторона 1, сторона 2) и методы (формирование строки с описанием объекта и вычисление площади). Описать классы-потомки: прямоугольник и трапеция со свойством высота. Для вычисления площадей воспользоваться формулами

и .

Контрольные вопросы

  1. Понятие класса, поля и метода.

  2. Понятие инкапсуляции.

  3. Понятие полиморфизма.

  4. Основные принципы наследования.

  5. Правила создания виртуальных методов.

  6. Назначение директив используемых в описании класса.

Лабораторная работа № 18 Компоненты для работы с файлами и каталогами

Цель работы: получение навыков сохранения информации в файле и считывания из файла с использованием компонентов FileListBox, DirectoryListBox, DriveComboBox, FilterComboBox.

Теоретические сведения

Компоненты для работы с файлами и каталогами

Для работы с файлами и каталогами используют специальные компоненты:

  • FileListBox — просмотр списка и выбор имени файла;

  • DirectoryListBox — просмотр и перемещение по дереву каталогов;

  • DriveComboBox — выбор дисковода;

  • FilterComboBox — выбор маски для списка файлов.

С помощью этих компонентов программируют операции, связанные с навигацией по файловой системе. Обычно компоненты, связанные с файлами и каталогами, используются совместно, но при необходимости про­граммист может применять их отдельно. На рис. 18.1 показаны связи компонентов при их совместном использовании. Кроме четырех рассмотренных компонентов, здесь изображены также эле­менты Label и Edit. Над соединительными линиями указаны свойства, с по­мощью которых устанавливается связь между компонентами (свойства принадлежат элементу, от названия которого проведена линия).

Рис. 18.1. Связи между компонентами

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]