Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MU_k_lab_inf_ch2_PE_2011.doc
Скачиваний:
20
Добавлен:
11.04.2015
Размер:
806.91 Кб
Скачать

Лабораторная работа № 5

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

Продолжительность работы 2 часа

Цель работы: ознакомление с классами объектов в системе программирования Delphi .

Подготовка к работе

Изучить по конспекту лекций и приведенной ниже литературе, следующие особенности языка программирования Delphi:

  • дополнительные по сравнению с Паскалем типы данных;

  • объявление классов;

Программа работы

    1. Получить у преподавателя вариант индивидуального задания

    2. Создать программу (аналогично программе из лекции), которая позволяла бы :

  • заносить два числа в форму,

  • запускать ее на выполнение с помощью кнопки

  • и выводить на форму результат действий над числами, указанных в варианте задания.

    1. Запустить Delphi и открыть новое приложение для проектирования

    2. Отладить программу

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

  • Чем отличаются классы и объекты?

  • Что такое инкапсуляция?

  • Что такое наследование?

  • Что такое полиморфизм?

  • Какова структура описания класса?

  • Перечислите целые типы данных, используемые в Delphi.

  • Перечислите вещественные типы данных Delphi.

  • Что понимается под форматом хранения данных в памяти?

  • Какие компоненты входят в описание класса?

  • Как создается и инициализируется объект?

  • Как уничтожается объект?

Содержание отчета

Отчет должен содержать окончательный вариант текста программы и результат ее выполнения.

Методические указания к выполнению работы

К п.1. Для получения информации о типах данных, используемых в Delphi, выберите пункт меню Help|Delphi Help, а затем в открывшемся окне выберите раздел Object Pascal Reference|Data types, variables and constants.

Для получения информации о форматах хранимых данных Object Pascal, выберите пункт меню Help|Delphi Help, а затем в открывшемся окне выберите раздел Object Pascal Reference|Memory Management.

К п.2. Класс– это тип данных, определяемый пользователем и содержащийполя, методы и свойства. Экземпляры класса называютсяобъектами. Поля, методы и свойства класса называюткомпонентами или членами.

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

Методявляется процедурой или функцией, связанной с классом. Большинство методов управляет объектами.

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

Объединение полей, методов и свойств в один тип - класс называется инкапсуляцией.

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

Любой класс может быть порожден от другого класса. При этом он наследует поля, методы, свойства и события от своих предков и может отменять какие-то из перечисленных элементов класса или вводить новые. Это второй принцип класса – наследование.

Пример объявления класса:

Type

TClassName = class(TAncestorClass)

fName: string;

fVal: integer;

consructor Create(Name: string);

procedure SetVal(Value: integer);

procedure Metod1;

function Metod2: integer;

…..

end;

где

TClassName - имя, создаваемого типа класса;

TAncestorClass - имя типа класса-родителя (если он есть).

fName, fVal - поля создаваемого класса.

Все классы в object Pasakal порождены от единственногшо родителя TObject. Объявления полей (переменных) выглядят аналогично объявлениям переменных в записях. Все поля должны быть объявлены ранее объявлений свойств и методов.

Create - конструктор создаваемого класса. Конструкторы – специальные методы, вызываемые при создании и инициализации экземпляра объекта. У класса может быть более одного конструктора, но, как правило, он один.

Metod1, Metod2 - методы создаваемого класса.

К п.4. При реализации методов класса (подобно полям записи) необходимо указывать класс, а затем после точки – название метода:

procedure TClassName.MetodName;

Begin

…..

end;

Чтобы вызвать метод нужного объекта необходимо указывать его переменную, а затем после точки – название метода.

Для уничтожения объектов в Object Pascal и удаления их из памяти используется метод Free.

К п. 3 Для разработки приложения в Delphi выберите пункт меню File|New

Таблица Варианты заданий к лабораторной работе №5

Вариант1

Класс, поля, методы, функции

Название

Описание

Класс

TBin

Однобайтное двоичное число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

NotBin

RRight

Создание и инициализация объекта

Установка исходного значения числа

Получение информации о полях объекта

Инверсия числа

Сдвиг числа на разряд вправо

Дополнительные функции

AndBin

OrBin

Логическое умножение двух чисел

Логическое сложение двух чисел

Вариант 2

Класс, поля, методы, функции

Название

Описание

Класс

TSingle

2-х байтное действительное число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

Resign

Создание и инициализация объекта

Установка исходного значения числа

Получение информации о полях объекта

Изменение знака числа

Дополнительныефункции

MulSin

DivSin

Арифметическое умножение двух чисел

Арифметическое деление двух чисел

Вариант 3

Класс, поля, методы, функции

Название

Описание

Класс

TInt

4-х байтное целое число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

NotInt

Создание и инициализация объекта

Установка исходного значения числа

Получение информации о полях объекта

Инверсия числа

Дополнительные

функции

AddInt

SubInt

Арифметическое сложение двух чисел

Арифметическое вычитание двух чисел

Вариант 4

Класс, поля, методы, функции

Название

Описание

Класс

TChar

Символ

Поля

fName

fChar

Имя переменной

Значение символа

Методы

Create

SetChar

Info

UpCase

Создание и инициализация объекта

Установка исходного значения символа

Получение информации о полях объекта

Установить заглавную букву

Дополнительные

функции

Concat

Конкатенация двух символов

Вариант 5

Класс, поля, методы, функции

Название

Описание

Класс

TReal48

6-ти байтное действительное число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

Resign

Создание и инициализация объекта

Установка исходного значения числа

Получение информации о полях объекта

Изменение знака числа

Дополнительные

функции

AddR48

SubR48

Арифметическое сложение двух чисел

Арифметическое вычитание двух чисел

Вариант 6

Класс, поля, методы, функции

Название

Описание

Класс

TReal

3- х байтное действительное число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

Resign

Создание и инициализация объекта

Установка исходного значения числа

Получение информации о полях объекта

Изменение знака числа

Дополнительные

функции

MulReal

DivReal

AddReal

SubReal

Арифметическое умножение двух чисел

Арифметическое деление двух чисел

Арифметическое сложение двух чисел

Арифметическое вычитание двух чисел

Вариант 7

Класс, поля, методы, функции

Название

Описание

Класс

TBin

Однобайтное двоичное число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

RLeft

Создание и инициализация объекта

Установка исходного значения числа

Получение информации о полях объекта

Сдвиг числа на разряд влево

Дополнительные

функции

XorBin

OrBin

Логическое сложение по модулю 2 двух чисел

Логическое сложение двух чисел

Вариант 8

Класс, поля, методы, функции

Название

Описание

Класс

TSmInt

2-х байтное целое число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

NotInt

Создание и инициализация объекта

Установка исходного значения числа

Вывод информации о полях объекта

Инверсия числа

Дополнительные

функции

MulSmInt

DSmInt

Арифметическое умножение двух чисел

Арифметическое вычитание двух чисел

Вариант 9

Класс, поля, методы, функции

Название

Описание

Класс

TInt

4-х байтное целое число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

NotInt

Создание и инициализация объекта

Установка исходного значения числа

Получение информации о полях объекта

Инверсия числа

Дополнительные

функции

MulInt

SubInt

Арифметическое умножение двух чисел

Арифметическое вычитание двух чисел

Вариант 10

Класс, поля, методы, функции

Название

Описание

Класс

TChar

Символ

Поля

fName

fChar

Имя переменной

Значение символа

Методы

Create

SetChar

Info

UpCase

Создание и инициализация объекта

Установка исходного значения символа

Получение информации о полях объекта

Установить заглавную букву

Дополнительные

функции

Concat

Конкатенация трех символов

Вариант 12

Класс, поля, методы, функции

Название

Описание

Класс

TReal48

6-ти байтное действительное число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

ObrCod

Создание и инициализация объекта

Установка исходного значения числа

Получение информации о полях объекта

Получение обратного кода

Дополнительные

функции

MulR48

DivR48

Арифметическое умножение двух чисел

Арифметическое деление двух чисел

Вариант 13

Класс, поля, методы, функции

Название

Описание

Класс

TReal

3- х байтное действительное число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

Resign

Создание и инициализация объекта

Установка исходного значения числа

Получение информации о полях объекта

Изменение знака числа

Дополнительные

функции

MulReal

SubReal

Арифметическое умножение двух чисел

Арифметическое вычитание двух чисел

Вариант 15

Класс, поля, методы, функции

Название

Описание

Класс

TBin

Однобайтное двоичное число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

NotBin

Создание и инициализация объекта

Установка исходного значения числа

Получение информации о полях объекта

Инверсия числа

Дополнительные

функции

AndBin

XorBin

Логическое умножение двух чисел

Логическое сложение по модулю 2 двух чисел

Вариант 16

Класс, поля, методы, функции

Название

Описание

Класс

TSmInt

2-х байтное целое число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

IzmZn

Создание и инициализация объекта

Установка исходного значения числа

Вывод информации о полях объекта

Изменение знака

Дополнительные

функции

AddSmInt

SubSmInt

Арифметическое сложение двух чисел

Арифметическое вычитание двух чисел

Вариант 17

Класс

TSmInt

4-х байтное целое число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

NotInt

Создание и инициализация объекта

Установка исходного значения числа

Вывод информации о полях объекта

Инверсия числа

Дополнительные

функции

MulSmInt

SubSmInt

Арифметическое умножение двух чисел

Арифметическое вычитание двух чисел

Вариант 18

Класс, поля, методы, функции

Название

Описание

Класс

TInt

6-х байтное целое число

Поля

fName

fVal

Имя переменной

Значение числа

Методы

Create

SetVal

Info

NotInt

Создание и инициализация объекта

Установка исходного значения числа

Получение информации о полях объекта

Инверсия числа

Дополнительные

функции

AddInt

SubInt

Арифметическое сложение двух чисел

Арифметическое вычитание двух чисел

Вариант 19

Класс, поля, методы, функции

Название

Описание

Класс

TChar

Символ

Поля

fName

fChar

Имя переменной

Значение символа

Методы

Create

SetChar

Info

UpCase

Создание и инициализация объекта

Установка исходного значения символа

Получение информации о полях объекта

Установить заглавную букву

Дополнительные

функции

Concat

Последовательность из двух одинаковых символов

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