Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2011, 14:42   #1
Andrew_M
Новичок
Джуниор
 
Регистрация: 15.01.2011
Сообщений: 1
По умолчанию Описать класс-родитель и класс-потомок. Delphi 7

Помогите пожалуйста написать в делфи программу по заданию.
Задание. Описать класс-родитель и класс-потомок, имеющий методы: потомок наследует или переопределяет методы родителя и приобретает новые. Предусмотреть необходимое количество кнопок для демонстрации каждого из методов объектов. Нарисовать паровоз, который выпускает дым.
Родительский класс - перемещающийся прямоугольник.
Нужно сделать модуль типа такого
Код:
unit Unit2;

interface
uses graphics;
var ColrBack:Tcolor;
Type
Tviz=class(TObject)
ColrLine:Tcolor;
Canvas:Tcanvas;
x,y,r:word;
Procedure Ris;virtual;abstract;
Procedure Draw(bl:boolean);
Procedure Show;
Procedure Hide;
Procedure MovTo(dx,dy,dr:integer);
end;
Tkrug=class(Tviz)
x1,y1,x2,y2:word;
Constructor Create(x0,y0,r0:word;colrLine0:Tcolor;canvas0:Tcanvas);
Procedure Ris;override;
end;
Tkvad=class(Tkrug)
Procedure Ris;override;
end;
Tkrpr=class(Tkrug)
dy1:word;
constructor Create(x0,y0,r0,dy0:word;colrLine0:Tcolor;canvas0:Tcanvas);
procedure ris;override;
end;
implementation
procedure Tviz.Draw;
begin
with Canvas do begin
if bl then begin
pen.Color:=colrLine; Brush.Color:=colrLine
end
else begin
pen.Color:=colrBack; brush.Color:=colrBack
end;
ris;
end; end;
procedure Tviz.Show;
begin
draw(true);
end;
Procedure Tviz.Hide;
begin
Draw(false);
end;
procedure Tviz.MovTo;
begin
Hide;
x:=x+dx; y:=y+dy; r:=r+dr;
Show;
end;
Constructor Tkrug.Create;
begin
colrline:=colrline0;
canvas:=canvas0;
x:=x0; y:=y0; r:=r0;
end;
procedure Tkrug.Ris;
begin
x1:=x-r; x2:=x+r; y1:=y-r; y2:=y+r;
canvas.Ellipse(x1,x2,y1,y2);
end;
Procedure Tkvad.Ris;
begin
x1:=x-r; x2:=x+r; y1:=y-r; y2:=y+r;
Canvas.Rectangle(x1,x2,y1,y2);
end;
constructor Tkrpr.Create;
begin
dy1:=dy0;
inherited create(x0,y0,r0,colrline0,canvas0);
end;
procedure Tkrpr.ris;
begin
inherited ris;
canvas.Rectangle(x1,y2,x2,y2+dy1);
end;
end.

Последний раз редактировалось AlDelta; 15.01.2011 в 15:15.
Andrew_M вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Родитель-потомок Владимир Чернов Общие вопросы Delphi 0 07.12.2010 12:48
Родитель-потомок Владимир Чернов Помощь студентам 0 01.12.2010 15:53
Описать класс. Telec Общие вопросы C/C++ 1 30.04.2010 18:43
Как описать класс на языке С# ? diliana Помощь студентам 8 20.04.2010 17:01
помогите описать Класс joker815 Помощь студентам 10 29.09.2009 00:02