Основы объектно-ориентированного программирования
Продолжительность занятия 4 часа.
Цель работы: ознакомление с классами объектов в используемой системе программирования
Подготовка к работе
Изучить по конспекту лекций и приведенной ниже литературе, следующие особенности объектно-ориентированного программирования:
l объявление классов;
l реализация наследования, инкапсуляции, полиморфизма;
l назначение основных окон среды Делфи.
Программа работы
1. Получить у преподавателя вариант индивидуального задания (см, таблицу 2) и определить в соответствии с вариантом тип данных Object Pascal, который необходимо использовать при проектировании класса
2. Составить описание класса на языке Object Pascal и согласовать составленное описание с преподавателем.
3. Составить реализацию методов класса и согласовать ее с преподавателем.
4. Разработать основную часть программы, в которой осуществляется инициализация нескольких экземпляров класса (объектов), и вывести на экран информацию о значении полей объектов.
5. Применить в основной программе методы, изменяющие значения полей объекта, и вывести на экран их новые значения.
6. Добавить в программу дополнительные функции для выполнения операций со значащими полями нескольких объектов, например, определение суммы или разности их значений и вывести на экран полученные результаты.
7. Запустить Delphi и открыть новое приложение для проектирования.
8. Отладить программу.
Контрольные вопросы
1. Чем отличаются классы и объекты?
2. Что такое инкапсуляция?
3. Что такое наследование?
4. Что такое полиморфизм?
5. Какова структура описания класса?
6. Перечислите целые типы данных, используемые в Object Pascal.
7. Перечислите вещественные типы данных Object Pascal.
8. Что понимается под форматом хранения данных в памяти?
9. Какие компоненты входят в описание класса?
10. Как создается и инициализируется объект?
11. Как уничтожается объект?
Содержание отчета
Отчет должен содержать окончательный вариант текста программы и результат ее выполнения.
Таблица 2
Вариант 1 | |||||
Класс, поля, методы, функции | Название | Описание | |||
Класс | TBin | Однобайтное двоичное число | |||
Поля | fNam1 fV1 | Имя переменной Значение числа | |||
Методы | Create SetVa1l Info1 Not1 RL1 RR1 | Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Инверсия числа Сдвиг числа на разряд влево Сдвиг числа на разряд вправо | |||
Дополнительные функции | And1 OrBin1 | Логическое умножение двух чисел Логическое сложение двух чисел | |||
Вариант 2 | |||||
Класс, поля, методы, функции | Название | Описание | |||
Класс | TSing2 | 4-х байтное действительное число | |||
Поля | fName2 fVal2 | Имя переменной Значение числа | |||
Методы | Create SetVal2 Info2 Resig2 | Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа | |||
Дополнительные функции | Div2 Add2 | Арифметическое деление двух чисел Арифметическое сложение двух чисел | |||
Вариант 3 | |||||
Класс, поля, методы, функции | Название | Описание | |||
Класс | Tint3 | 4-х байтное целое число | |||
Поля | fN3 fV3 | Имя переменной Значение числа | |||
Методы | Create Set3 Info3 Not3 | Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Инверсия числа | |||
Дополнительные функции | Div3 Sub3 | Арифметическое деление двух чисел Арифметическое вычитание двух чисел | |||
Вариант 4 | |||||
Класс, поля, методы, функции | Название | Описание | |||
Класс | TChar | Символ | |||
Поля | fN4 fCh4 | Имя переменной Значение символа | |||
Методы | Create Set4Char Info4 UpCase4 | Создание и инициализация объекта Установка исходного значения символа Получение информации о полях объекта Установить заглавную букву | |||
Дополнительные функции | Con4 | Конкатенация двух символов | |||
Вариант 5 | |||||
Класс, поля, методы, функции | Название | Описание | |||
Класс | TReal48 | 6-ти байтное действительное число | |||
Поля | fN5 fV5 | Имя переменной Значение числа | |||
Методы | Create SetV5 Info5 Res5 | Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа | |||
Дополнительные функции | DivR5 AddR5 | Арифметическое деление двух чисел Арифметическое сложение двух чисел | |||
Вариант 6 | |||||
Класс, поля, методы, функции | Название | Описание | |||
Класс | TReal | 8-ми байтное действительное число | |||
Поля | fNam6 fVal6 | Имя переменной Значение числа | |||
Методы | Create SetV6 Inf6 Resi6 | Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа | |||
Дополнительные функции | AddR6 SubR6 | Арифметическое сложение двух чисел Арифметическое вычитание двух чисел | |||
Вариант 7 | |||||
Класс, поля, методы, функции | Название | Описание | |||
Класс | TSmInt | 2-х байтное целое число | |||
Поля | fName7 fVal7 | Имя переменной Значение числа | |||
Методы | Create Set7 Info7 NotI7 | Создание и инициализация объекта Установка исходного значения числа Вывод информации о полях объекта Инверсия числа | |||
Дополнительные функции | MulSm7 SubSm7 | Арифметическое умножение двух чисел Арифметическое вычитание двух чисел | |||
Вариант 8 | ||||||
Класс, поля, методы, функции | Название | Описание | ||||
Класс | TBin | Однобайтное двоичное число | ||||
Поля | fN8 f8 | Имя переменной Значение числа | ||||
Методы | Create SetVal8 Info8 Not8 RL8 RR8 | Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Инверсия числа Сдвиг числа на разряд влево Сдвиг числа на разряд вправо | ||||
Дополнительные функции | And8 Xor8 | Логическое умножение двух чисел Логическое сложение по модулю 2 двух чисел | ||||
Вариант 9 | ||||||
Класс, поля, методы, функции | Название | Описание | ||||
Класс | TSingle | 4-х байтное действительное число | ||||
Поля | fNa9 fV9 | Имя переменной Значение числа | ||||
Методы | Create SetVal9 Info9 Resi9 | Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа | ||||
Дополнительные функции | Div9 Add9 | Арифметическое деление двух чисел Арифметическое сложение двух чисел | ||||
Вариант 10 | ||||||
Класс, поля, методы, функции | Название | Описание | ||||
Класс | TInt | 4-х байтное целое число | ||||
Поля | fN10 f10Val | Имя переменной Значение числа | ||||
Методы | Create Set10 Info10 Not10t | Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Инверсия числа | ||||
Дополнительные функции | Mul10 Add10 | Арифметическое умножение двух чисел Арифметическое сложение двух чисел | ||||
Вариант 11 | ||||||
Класс, поля, методы, функции | Название | Описание | ||||
Класс | TChar | Символ | ||||
Поля | F11Name F11Char | Имя переменной Значение символа | ||||
Методы | Create Set11Ch Info11 Up11Case | Создание и инициализация объекта Установка исходного значения символа Получение информации о полях объекта Установить заглавную букву | ||||
Дополнительные функции | Concat | Соединение двух символов | ||||
Вариант 12 | ||||||
Класс, поля, методы, функции | Название | Описание | ||||
Класс | TReal12 | 6-ти байтное действительное число | ||||
Поля | fNm fVl | Имя переменной Значение числа | ||||
Методы | Create Set112Val Info12 R12 | Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа | ||||
Дополнительные функции | UmnR12 WiR12 | Арифметическое умножение двух чисел Арифметическое вычитание двух чисел | ||||
Вариант 13 | ||||||
Класс, поля, методы, функции | Название | Описание | ||||
Класс | TReal | 8-ми байтное действительное число | ||||
Поля | fNam fVl | Имя переменной Значение числа | ||||
Методы | Create Set13Val Inf13 Res13 | Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа | ||||
Дополнительные функции | Add13Real Sub13Real | Арифметическое сложение двух чисел Арифметическое вычитание двух чисел | ||||
Вариант 14 | ||||||
Класс, поля, методы, функции | Название | Описание | ||||
Класс | TSmInt | 2-х байтное целое число | ||||
Поля | fN fV | Имя переменной Значение числа | ||||
Методы | Create SetVal14 Info14 NotInt14 | Создание и инициализация объекта Установка исходного значения числа Вывод информации о полях объекта Инверсия числа | ||||
Дополнительные функции | Mul14Int Div14Int | Арифметическое умножение двух чисел Арифметическое деление двух чисел | ||||