4056

Принцип наследования. Создание иерархии классов. Классы и модули

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

Информатика, кибернетика и программирование

Принцип наследования. Создание иерархии классов. Классы и модули. Задание: Создать иерархию графических классов в соответствии с рисунком. Описания классов оформить в отдельном модуле. Для создания данной программы, нам нужно обязательно созда...

Русский

2012-11-12

46.5 KB

58 чел.

Принцип наследования. Создание иерархии классов. Классы и модули.

Задание:

Создать иерархию графических классов в соответствии с рисунком. Описания классов оформить в отдельном модуле.

Для  создания данной программы, нам нужно обязательно создать для каждого рисунка иерархию графических классов.

Текст программы:

Unit labs3;

Interface

TYPE

    tLocation=object {создание типа фигуры}{класс TLocation}

       x,y,x1,y1:integer; {описание переменных координат}

       procedure Init(InitX,InitY:integer); {процедура инициализации}

    end;

    tPoint=object(tLocation) {описание объекта}{ класс tPoint}

       color:word; {цвет}

       procedure Init(InitX,InitY:integer;col:word);

       procedure Move(NewX,NewY:integer); {процедура движения фигур}

      { procedure Hide;}

       Procedure Draw; {процедура рисования}

    end;

    tCircle=object(tPoint) {класс tCircle, окружность}

       Rx,Ry,VRx:word;

       procedure Init(InitX,InitY:integer;col,RRx:word);

       procedure Move(NewX,NewY:integer);

      { procedure Hide;}

       Procedure Draw;

    end;

    tEllipse=object(tCircle) {элипс}

       procedure Init(InitX,InitY:integer;col,NRx,NRy:word);

       procedure Move(NewX,NewY:integer);

      { procedure Hide;}

       Procedure Draw;

    end;

    tLine=object(tPoint) {линия}

       Rx,Ry:word;

       procedure Init(InitX,InitY:integer;coll:word);

       procedure Move(NewX,NewY,NewX1,NewY1:integer);

      { procedure Hide;}

       Procedure Draw;

    end;

    tTriangle =object(tLine) {треугольник}

       procedure Init(InitX,InitY:integer;coll:word);

       procedure Move(NewX,NewY,NewX1,NewY1:integer);

      { procedure Hide;}

       Procedure Draw;

    end;

    tKvadrat=object(tLine) {квадрат}

       procedure Init(InitX,InitY:integer;coll:word);

       procedure Move(NewX,NewY,NewX1,NewY1:integer);

      { procedure Hide;}

       Procedure Draw;

    end;

implementation

Uses Crt,Graph; {инициализация графики}

                   {Метод tLocation}

procedure TLocation.Init(InitX,InitY:integer); {процедура, имя класса имя метода и так везде, где в скобках()указаны параметры}

begin

x:=InitX; y:=InitY;

end;

                   {Метод tPoint}

procedure tPoint.Init(InitX,InitY:integer;col:word);

begin

tLocation.Init(InitX,InitY);

color:=col;

end;

procedure tPoint.Move(NewX,NewY:integer);

begin

{Hide;}

x:=NewX;

y:=NewY;

Draw; {метод рисующий фигуру заданным цветом}

end;

{procedure tPoint.Hide;

begin

PutPixel(x,y,GetBkColor);

end;}

procedure tPoint.Draw; {процедура рисования}

begin

PutPixel(x,y,color);

end;

                 {Метод класса tCircle}

procedure tCircle.Init(InitX,InitY:integer;col,RRx:word);

begin

tPoint.Init(InitX,InitY,col);

Rx:=RRx;

end;

procedure tCircle.Move(NewX,NewY:integer);

begin

{Hide;}

x:=NewX;

y:=NewY;

Draw;

end;

{procedure tCircle.Hide;

begin

SetFillStyle(1,GetBkColor);

Setcolor(GetBkcolor);

Circle(x,y,Rx);

end;}

procedure tCircle.Draw;

begin

SetFillStyle(1,GetBkColor);

Setcolor(color);

Circle(x,y,Rx);

end;

                 {Метод класса tEllips}

procedure tEllipse.Init(InitX,InitY:integer;col,NRx,NRy:word);

begin

tCircle.Init(InitX,InitY,col,VRx);

Rx:=NRx;

Ry:=NRy;

end;

procedure tEllipse.Move(NewX,NewY:integer);

begin

{Hide;}

x:=NewX;

y:=NewY;

Draw;

end;

{procedure tEllipse.Hide;

begin

SetFillStyle(1,GetBkColor);

Setcolor(GetBkcolor);

FillEllipse(x,y,Rx,Ry);

end;}

procedure tEllipse.Draw;

begin

SetFillStyle(1,GetBkColor);

Setcolor(color);

FillEllipse(x,y,Rx,Ry);

end;

                  {Метод класса tLine}

procedure tLine.Init(InitX,InitY:integer;Coll:word);

begin;

tLocation.Init(InitX,InitY);

color:=coll;

end;

procedure tLine.Move(NewX,NewY,NewX1,NewY1:integer);

begin

{Hide;}

x:=NewX;

y:=NewY;

x1:=NewX1;

y1:=NewY1;

Draw;

end;

procedure tLine.Draw;

begin

SetFillStyle(1,GetBkColor);

Setcolor(color);

Line(x,y,x1,y1);

end;

            {Метод класса tTriangle}

procedure tTriangle.Init(InitX,InitY:integer;Coll:word);

begin;

tLine.Init(InitX,InitY,color);

color:=coll;

end;

procedure tTriangle.Move(NewX,NewY,NewX1,NewY1:integer);

begin

{Hide;}

x:=NewX;

y:=NewY;

x1:=NewX1;

y1:=NewY1;

Draw;

end;

procedure tTriangle.Draw; {процедура прорисовки треугольника}

begin

SetFillStyle(1,GetBkColor);

Setcolor(color);

  Line(x,x,y,x1); {линии треугольника}

  Line(x,x,y1,x1);

  Line(y,x1,y1,x1);

end;

              {Метод класса tKvadrat}

procedure tKvadrat.Init(InitX,InitY:integer;Coll:word);

begin;

tLine.Init(InitX,InitY,color);

color:=coll;

end;

procedure tKvadrat.Move(NewX,NewY,NewX1,NewY1:integer);

{Hide;} {метод, рисующий фигуру цветом фона}

begin

x:=NewX;

y:=NewY;

x1:=NewX1;

y1:=NewY1;

Draw; {метод, рисующий фигуру цветом фона}

end;

procedure tKvadrat.Draw; {класс,объект}

begin

SetFillStyle(1,GetBkColor); {цвет закраски}

Setcolor(color); {цвет которым будет производится закраска}

Rectangle(x,y,x1,y1); {прямоугольник}

end;

end.


 

А также другие работы, которые могут Вас заинтересовать

26377. Понятие модели, моделирования 94 KB
  Вначале понятие модель относилось только к материальным объектам как например манекен модель человеческой фигуры чучело модель животного модели автомобилей самолетов и т. Чертежи рисунки карты – это тоже модели но они соответствуют более высокой степени абстрагирования от оригинала поэтому их модельные свойства были осознаны намного позже. В настоящее время понятие модели расширилось оно включает и реальные и так называемые идеальные модели например математические модели.
26378. Виды моделирования 37 KB
  Например можно выделить следующие виды моделирования: Информационное моделирование Компьютерное моделирование Математическое моделирование Математикокартографическое моделирование Молекулярное моделирование Цифровое моделирование Логическое моделирование Педагогическое моделирование Психологическое моделирование Статистическое моделирование Структурное моделирование Физическое моделирование Экономикоматематическое моделирование Имитационное моделирование Эволюционное моделирование ИНФОРМАЦИОННОЕ В своей деятельности человек...
26379. Классификация моделей 73 KB
  Модель называется статической если среди параметров участвующих в ее описании нет временного параметра. Статическая модель в каждый момент времени дает лишь фотографию системы ее срез. Закон Ньютона F=am это статическая модель движущейся с ускорением a материальной точки массой m. Эта модель не учитывает изменение ускорения от одной точки к другой.
26380. Модели предметные (материальные) и модели информационные 33.5 KB
  Предметные модели воспроизводят геометрические физические и другие свойства объектов в материальной форме глобус анатомические муляжи модели кристаллических решеток макеты зданий и сооружений и др. Информационные модели представляют объекты и процессы в образной или знаковой форме. Образные модели рисунки фотографии и др.
26381. Мочевыводящие пути 22 KB
  Топографически он имеет 3 части: брюшная – лежит ретроперитониально направляется в мочеполовой складке у самцов вместе с семяпроводом ко входу в тазовую полость; тазовая – покрыта адвентицией доходит до лонной области и здесь впадает в дорсальную стенку мочевого пузыря вблизи его шейки формируя на слизистой пузырный треугольник; внутрипузырная – следует между слизистой и мышечной оболочкой мочевого пузыря что препятствует обратному току мочи. Стенка мочевого пузыря: слизистая – переходный эпителий мышечная – гладкая мускулатура...
26382. Мышцы глазного яблока и век 20.5 KB
  В толще век располагаются пучки поперечноисчерченных волокон круговой мышцы век m. Глазные мышцы в количестве 7 расположены внутри периорбиты плотный фиброзный мешок край которого закреплён по краю орбиты а вершина – в области зрительного отверстия. retractor bulbi а снаружи от него – 4 прямые глазничные мышцы m. Косые глазные мышцы m.
26383. Наружные половые органы самцов 21.5 KB
  Сливаясь образуют корень пениса radix penis а он продолжается в длинное тело. Заканчивается головкой glans penis в области которой имеется мочеполовой отросток или отверстие. У плотоядных здесь – кость os penis.
26384. Автономная (вегетативная) нервная система 20 KB
  Обеспечивает растительные функции организма пищеварение дыхание мочевыделение размножение. Осуществляет метаболическое осуществление соматической функции прежде всего двигательные функции.
26385. Автоподий грудной конечности, запястный и пальцевый суставы 24 KB
  Мышцы действующие на эти суставы сосредоточены в области предплечья: с латерокраниальной стороны экстензоры запястье: лучевой разгибатель запястья extensor carpi radialis длинный абдуктор большого пальца пальцы: общий разгибатель пальцев extensor digitorum communis латеральный разгибатель пальцев с каудомедиальной – флексоры запястье: локтевой разгибатель запястья локтевой сгибатель запястья лучевой сгобатель запястья; пальцы: поверхностный сгибатель пальцев глубокий сгибатель пальца.