Лабораторная работа №8 Решение задачи на создание и уничтожение объекта.
Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с принципами создания объектов. Закрепить полученные на лекции знания. Написать и отладить программу
Теория:
Принципы ООП:
- Инкапсуляция - объединение в единое целое данных и алгоритмов обработки этих данных;
- Наследование - свойство объектов порождать своих потомков;
- Полиморфизм – свойство родственных объектов решать схожие по смыслу проблемы разными способами.
Для создания объектов используют 3 зарезервированных слова: object, constructor, destructor и 2 стандартные директивы: private, public.
Object – для описания объекта:
Type
Имя объекта = object
private {поля объекта}
{методы объекта}
public {поля объекта}
{методы объекта}
end ;
private- описание скрытых полей и методов;
public- поля и методы доступны в любой программной единице.
Например: Создать модуль с объектом «Линия» и методами «Нарисовать», «Переместить» и «Удалить».
UNIT Linia;
INTERFACE
Type
TLene = object
Private
x1, y1, x2, y2 : integer; {координаты линии}
color: word; {цвет линии}
Public
Procedure Draw (ax1,ay1,ax2,ay2:integer; aColor:word);
Procedure Perem;
Procedure Udal;
End;
IMPLEMENTATION
Uses graph;
Procedure TLene.Draw;
var dg, dm :integer;
Begin
dg:=detect; InitGraph(dg,dm, ’’);
x1:=ax1; y1:=ay1; y2:=ay2; x2:=ax2;
color:=aColor; setcolor(aColor);
line(x1,y1,x2,y2);
line(x2,y2,x2+60,y2);
End;
Procedure TLene.Perem;
Begin
ClearDevice; SetColor(color);
Line(x1+30,y1+30,x2+30,y2+30);
Line(x2+30,y2+30,x2+90,y2+30);
End;
Procedure TLene.Udal;
Begin
ClearDevice; ReadLn; CloseGraph;
End;
END.
Основная программа: Использование модуля и объекта
Program Object_Line;
Uses crt, Linia;
Var x,y,xs,ys :integer;
Color:word;
objLine:TLene; {объект типа TLene }
Begin
ClrScr;
Readln(x,y,xs,ys,color);
objLine .Draw(x,y,xs,ys,color); {вызов процедуры Draw для объекта}
objLine.Perem;{вызов процедуры Perem}
objLine.Udal; {вызов процедуры Udal}
End.
Задание: Создать собственный объект и использовать его в программе.
Вариант№1
Объект – точка
- Свойства - координаты точки, цвет точки;
- Методы – нарисовать, переместить, удалить
Вариант№2
Объект – 2 линии. ( − | )
- Свойства - координаты начала и конца, цвет линии;
- Методы – нарисовать, переместить, удалить
Вариант№3
Объект – треугольник.
- Свойства - координаты точек, цвет линии;
- Методы – нарисовать, переместить, удалить
Вариант№4
Объект – прямоугольный треугольник.
- Свойства - координаты точек, цвет линии;
- Методы – нарисовать, переместить, удалить
Вариант№5
Объект – квадрат.
- Свойства - координаты точек, цвет линии;
- Методы – нарисовать, переместить, удалить
Вариант№6
Объект – вертикальный прямоугольник.
- Свойства - координаты точек, цвет линии;
- Методы – нарисовать, переместить, удалить
Вариант№7
Объект – горизонтальный прямоугольник.
- Свойства - координаты точек, цвет линии;
- Методы – нарисовать, переместить, удалить
Вариант№8
Объект – круг.
- Свойства - координаты центра, радиус, цвет линии;
- Методы – нарисовать, переместить, удалить
Контрольные вопросы:
- Как создать объект?
- Как использовать методы объекта?
- Что такое Private и Public?