Разработать и реализовать иерархию классов для описанных объектов...

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

Исходный код программы Delphi:
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.

Блок схемы:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: