Главная » Статьи » Программирование в Delphi

Разработать иерархию классов, используя наследования
Тема. Объекты. Наследование.
Разработать и реализовать иерархию классов для описанных объектов предметной области, используя механизмы наследования. Проверить ее на тестовом примере, с демонстрацией всех возможностей разработанных классов на конкретных данных.
Объект – доска. Параметры: два целых числа – длина и ширина, Методы: инициализирующий, определения площади и возвращающие значения длины и ширины.
Объект – доска. Параметры: длина, ширина и толщина. Методы: инициализирующий, определения объема и вывода параметров и объема.

Исходный код программы Delphi:

Code

program Project3;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
TDoska2D = class (TObject)
protected
W, L:Integer;
public
procedure Init(w_,l_:Integer);
function Length:Integer;
function Width:Integer;
function S:integer;
end;

TDoska3D = class (TDoska2D)
protected
H:Integer;
public
procedure Init(w,l,h_:Integer);
function V:integer;
function Height:integer;
procedure print();
end;
{ TODO -oUser -cConsole Main : Insert code here }
{ TDoska2D }

procedure TDoska2D.Init(w_, l_: Integer);
begin
W := w_;
L := l_;
end;

function TDoska2D.Length: Integer;
begin
Result:=L;
end;

function TDoska2D.S: integer;
begin
Result:= Width*Length;
end;

function TDoska2D.Width: Integer;
begin
Result:=W;
end;

{ TDoska3D }

procedure TDoska3D.Init(w, l, h_: Integer);
begin
Inherited Init(w,l);
H:=h_;
end;

function TDoska3D.V: integer;
begin
Result:= S*H;
end;

function TDoska3D.Height: integer;
begin
Result:= S*H;
end;

procedure TDoska3D.print;
begin
Writeln('V:',V);
end;

var
W,L,H:Integer;
Doska2d:TDoska2D;
Doska3d:TDoska3D;

begin
Writeln(' - - - - - ');
Writeln (' Doska 2D ');
Write('Width: ');
Readln(W);
Write('Length: ');
Readln(L);

Doska2d:=TDoska2D.Create;
Doska2d.Init(w,l);

Writeln('S:',Doska2d.S);
Writeln;

Writeln(' - - - - - ');
Writeln (' Doska 3D ');
Write('Width: ');
Readln(W);
Write('Height: ');
Readln(H);
Write('Length: ');
Readln(L);

Doska3d:=TDoska3D.Create;
Doska3d.Init(w,l,h);

Doska3d.print();

Writeln;

readln;
end.


Источник: http://www.codingrus.ru/
Категория: Программирование в Delphi | Добавил: Nikol05 (13.01.2011)
Просмотров: 3119 | Рейтинг: 4.0/3
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]