4056

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

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

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

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

Русский

2012-11-12

46.5 KB

62 чел.

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

Задание:

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

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

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

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.


 

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

65624. ВПЛИВ НЕСТАБІЛЬНОСТІ ХАРАКТЕРИСТИК ШИН НА НЕРІВНОМІРНІСТЬ ЇХНЬОГО НАВАНТАЖУВАННЯ І СТІЙКІСТЬ РУХУ АВТОМОБІЛІВ 397 KB
  Традиційні способи комплектації шин (у тому числі і здвоєних) не забезпечують необхідної довговічності під час експлуатації. На складених колесах зі здвоєними шинами утворюються потоки паразитної потужності, що циркулює у замкненому контурі й спричинює додаткові втрати на тертя між рушієм і дорогою.
65625. ФОРМУВАННЯ ПРОГНОСТИЧНИХ УМІНЬ МАЙБУТНІХ МЕНЕДЖЕРІВ У ВИЩИХ АГРАРНИХ НАВЧАЛЬНИХ ЗАКЛАДАХ 309 KB
  У реалізації завдань гуманістичної трансформації менеджмент-освіти пріоритетна роль належить розвитку професійних умінь майбутніх управлінців. Одним із них є вміння правильно передбачати можливі напрями розвитку підприємства та розробляти його подальшу стратегію, що практично неможливо...
65626. ТЕХНОЛОГІЯ СОУСІВ З ДІЄТИЧНИМИ ДОБАВКАМИ ФУНКЦІОНАЛЬНОГО ПРИЗНАЧЕННЯ 9.48 MB
  Перспективним напрямом вирішення завдання щодо підвищення харчової цінності зниження дефіциту есенційних речовин є розроблення технології соусів функціонального призначення що передбачає поєднання традиційної сировини з дієтичними добавками.
65627. ПОТОКОВІ МОДЕЛІ ТА ДВОРІВНЕВІ МЕТОДИ УПРАВЛІННЯ ТРАФІКОМ В IP/MPLS-МЕРЕЖАХ З ПІДТРИМКОЮ ТЕХНОЛОГІЇ TRAFFIC ENGINEERING 577.5 KB
  Графові моделі пошуку найкоротшого шляху, що використовуються в сучасних протоколах маршрутизації, а також засновані переважно на адміністративному впливі механізми управління чергами мають досить обмежені можливості щодо врахування характеристик трафіка й вимог, що стосуються якості обслуговування та масштабованості.
65628. Інформаційне та технічне забезпечення екологічної безпеки критично небезпечних промислових об’єктів 397 KB
  На відміну від автоматичних установок пожежогасіння які розраховують виходячи з подачі обєму рідини на одиницю площі за відрізок часу в якості параметрів ефективності зменшення установкою екологічно шкідливого впливу аварії автором запропоновано розраховувати нову установку виходячи з відношення обєму розпорошеного...
65629. ЛЕКСИКА «ДИТЯЧОГО СПІЛКУВАННЯ» У ГОВІРКАХ ЦЕНТРАЛЬНОЇ СЛОБОЖАНЩИНИ (ХАРКІВЩИНИ) 145.5 KB
  Усі ці роботи різні тематикою матеріалом й аспектами вивчення поєднує одне: предметом дослідження в них є говірне мовлення дорослих. Територіальне ж дитяче мовлення на сьогодні залишається практично не дослідженим як у світовому так і у вітчизняному мовознавстві хоча теоретичне осмислення цього...
65630. ДЕРЖАВНА ПОЛІТИКА ТА ФІНАНСОВИЙ МЕХАНІЗМ ЦІНОУТВОРЕННЯ НА СІЛЬСЬКОГОСПОДАРСЬКУ ПРОДУКЦІЮ 495 KB
  Водночас забезпечення сталого суспільного розвитку потребує належного регулюючого впливу державної політики і фінансового механізму на функціонування національної економіки через удосконалення системи цін. Важливу роль у здійсненні процесів відтворення та узгодження економічних...
65631. РОЗВИТОК СИСТЕМИ СТРАХУВАННЯ СІЛЬСЬКОГОСПОДАРСЬКИХ КУЛЬТУР 297 KB
  Дієвим ринковим інструментом його підтримки та забезпечення безперебійності відтворювального процесу виступає страхування сільськогосподарських культур яке відшкодовуючи понесені збитки дозволяє стабілізувати виробництво забезпечити фінансову стійкість господарств а відтак і сталість...
65632. МИСТЕЦЬКЕ ЖИТТЯ ВІННИЧЧИНИ 60-Х РОКІВ XIX – ПЕРШОЇ ПОЛОВИНИ XX СТОЛІТТЯ В КОНТЕКСТІ ХУДОЖНЬОЇ КУЛЬТУРИ ПОДІЛЛЯ 160 KB
  Культура України та, особливо, культурна спадщина регіонів відіграють важливу роль у процесі гармонійного оновлення українського суспільства. Основою національної самосвідомості, як відомо, є уявлення про історичну долю народу та його історичні традиції.