Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
61
Добавлен:
04.06.2015
Размер:
8 Мб
Скачать
☆

Var X, y, dx, dy: Word;

driver, regim: Integer;

Begin

driver:=detect; автоопределение графического драйвера

InitGraph(Driver,Regim,'C:\BP\BGI'); инициализация графического режима

SetBkColor(1); цвет фона - синий

ClearDevice; очистка экрана

SetColor(14); цвет фигур - желтый

x:=100; x и y – координаты точки

y:=150;

dx:=50; dx и dy – шаги по координатам

dy:=100;

PutPixel(x,y,14); рисуем точку желтым цветом

Delay(1000); задержка 1 сек

PutPixel(x,y,1); там же рисуем точку цветом фона

x:=x + dx; делаем шаг по координатам

y:=y + dy;

PutPixel(x,y,14); рисуем желтую точку на новом месте

Delay(1000);

ReadLn;

CloseGraph; закрываем графический режим

End.

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

Создадим объект, включающий:

поляxиy– его координаты,

методыInit–инициализация– задание начальных значений координат,

Show– появление объекта на экране,

Hide– скрытие объекта,

Move– перемещение объекта на один шаг по координатам.

Поля объекта называются его свойствами. Для описания объектов в Паскале используется специальный типObject:

Program Tochka;

Uses CRT, Graph;

Type TPix = Object

x, y: Word; координаты точки

Procedure Init(a, b: Word); инициализация объекта: a и b – его начальные координаты

Procedure Show; появление объекта

Procedure Hide; скрытие объекта

Procedure Move(da, db: Word); перемещение объекта: da и db – шаги по координатам

End;

Procedure TPix.Init; инициализация

Begin

x:=a; x и y – глобальные переменные

y:=b; a и b – входные переменные (формальные параметры) – начальные координаты объекта

End;

Procedure TPix.Show; появление

Begin

PutPixel(x,y,14); помещаем желтую точку по координатам x и y

End;

Procedure TPix.Hide; скрытие

Begin

PutPixel(x,y,1); помещаем синюю (цвет фона) точку по координатам x и y

End;

Procedure TPix.Move; перемещение

Begin

Hide; скрытие

x:=x + da; изменение координат

y:=y + db; x и y – глобальные переменные

da и db – входные переменные (формальные параметры) – шаги по координатам

Show; появление

End;

Var x0, y0, dx, dy: Word;

driver, regim: Integer;

pixel: TPix; создаем экземпляр объекта – переменную pixel

Begin

driver:=detect; автоопределение графического драйвера

InitGraph(Driver,Regim,'C:\BP\BGI'); инициализация графического режима

SetBkColor(1); цвет фона - синий

ClearDevice; очистка экрана

SetColor(14); цвет фигур - желтый

x0:=100; x0 и y0 – начальные координаты точки

y0:=150;

dx:=50; dx и dy – шаги по координатам

dy:=40;

pixel.Init(x0, y0); инициализация точки: задаем начальные координаты точки

pixel.Show; выводим точку на экран по заданным координатам

Delay(1000); пауза в 1 сек

Pixel.Move(dx, dy); перемещаем точку на dx,dy

Delay(1000); пауза в 1 сек

ReadLn;

CloseGraph; закрываем графический режим

End.

Таким образом:

1.в объектеTPixобъединены описания его полей (свойств) и методов –инкапсуляция,

2.доступ ксвойствамобъекта возможен только через егометоды;непосредственное обращение к полям противоречит принципам объектно-ориентированного программирования!

3.поведение объекта полностью определяется ее методамиInit, Show, Hide, Move,

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

5.перед началом работы сэкземпляромобъекта (точкой) необходима ееинициализация– задание начальных координат точки.

Рассмотрим понятие наследования: используя объектTPix, создадим объектTRingдля рисования и перемещения окружности, добавив в новый объект полеrad– радиус окружности ипереопределивдля нее методыInit, Show, Hide, доставшиеся от родительского типа. Это означает, что в обоих типах будут использованы методы с одними и теми же именами, но с различной реализацией. Поляxиyновый объект унаследует от старого – это будут координаты центра окружности:

Type TRing = Object (TPix) объект TRing – потомок объекта TPix

rad: Word; радиус окружности

Procedure Init(a, b, r: Word); инициализация объекта: a и b – координаты его центра, r – его радиус

Procedure Show; появление объекта

Procedure Hide; скрытие объекта

End;

Procedure TRing.Init; переопределенная инициализация

Begin

x:=a; x, y, rad – глобальные переменные

y:=b; a, b, r – входные переменные (формальные параметры) –координаты центра объекта и его радиус

rad:=r;

End;

Procedure TRing.Show; переопределенное появление

Begin

SetColor(14); цвет фигуры - желтый

Circle(x,y,rad); помещаем желтую окружность по координатам x и y

End;

Procedure TRing.Hide; переопределенное скрытие

Begin

SetColor(1); цвет фигуры – синий (цвет фона)

Circle(x,y,rad); помещаем синюю окружность по координатам x и y

End;

Далее поместим головную программу: