Лабораторная работа №8 Решение задачи на создание и уничтожение объекта.

Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с принципами создания объектов. Закрепить полученные на лекции знания. Написать и отладить программу

Теория:

Принципы ООП:

  1. Инкапсуляция - объединение в единое целое данных и алгоритмов обработки этих данных;
  2. Наследование - свойство объектов порождать своих потомков;
  3. Полиморфизм – свойство родственных объектов решать схожие по смыслу проблемы разными способами.

Для создания объектов используют 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

Объект – точка

  1. Свойства - координаты точки, цвет точки;
  2. Методы – нарисовать, переместить, удалить

Вариант№2

Объект – 2 линии. ( − | )

  1. Свойства - координаты начала и конца, цвет линии;
  2. Методы – нарисовать, переместить, удалить

Вариант№3

Объект – треугольник.

  1. Свойства - координаты точек, цвет линии;
  2. Методы – нарисовать, переместить, удалить

Вариант№4

Объект – прямоугольный треугольник.

  1. Свойства - координаты точек, цвет линии;
  2. Методы – нарисовать, переместить, удалить

Вариант№5

Объект – квадрат.

  1. Свойства - координаты точек, цвет линии;
  2. Методы – нарисовать, переместить, удалить

Вариант№6

Объект – вертикальный прямоугольник.

  1. Свойства - координаты точек, цвет линии;
  2. Методы – нарисовать, переместить, удалить

Вариант№7

Объект – горизонтальный прямоугольник.

  1. Свойства - координаты точек, цвет линии;
  2. Методы – нарисовать, переместить, удалить

Вариант№8

Объект – круг.

  1. Свойства - координаты центра, радиус, цвет линии;
  2. Методы – нарисовать, переместить, удалить

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

  1. Как создать объект?
  2. Как использовать методы объекта?
  3. Что такое Private и Public?