Разработка классов на языке Object Pascal. Соколов Е.В. - 67 стр.

UptoLike

Составители: 

67
Пример 4.2.2. Программа, демонстрирующая работу с объектами клас-
сов , производных от Number.
program TestNumbers;
{$APPTYPE CONSOLE}
uses UnitWhole in 'UnitWhole.pas',
UnitRational in 'UnitRational.pas',
UnitRGBColor in 'UnitRGBColor.pas',
UnitNumber in 'UnitNumber.pas';
procedure Test(n1: Number);
var n2, n3, n4: Number;
begin
WriteLn('n1: '+n1.AsString);
n2:=ClassNumber(n1.ClassType).CreateEqualTo(n1);
WriteLn('n2: '+n2.AsString);
n3:=n1.Plus(n2); WriteLn('n3 after n3:=n1.Plus(n2): '+n3.AsString);
n4:=ClassNumber(n1.ClassType).Create; n4.Assign(n3);
WriteLn('n4 after n4.Assign(n3): '+n4.AsString);
if n3.IsEqual(n4) then WriteLn('n3 is equal to n4')
else WriteLn('n3 is not equal to n4');
n4.MultiplyBy(n2);
WriteLn('n4 after n4.MultiplyBy(n2): '+n4.AsString);
n2.Destroy; n3.Destroy; n4.Destroy;
end;
var w: Whole; r: Rational; c: RGBColor;
begin
w:=Whole.Create; w.SetValue(3);
r:=Rational.Create; r.SetNum(2); r.SetDen(7);
c:=RGBColor.Create; c.SetRed(0.2); c.SetGreen(0.8); c.SetBlue(0.6);
Test(w); w.Destroy; WriteLn;
Test(r); r.Destroy; WriteLn;
Test(c); c.Destroy; ReadLn;
end.
Пример4.2.2. Програм м а, д ем онс т рирующ ая работ у с объект ам и кл ас -
с ов , произ в од ны х от Number.

program TestNumbers;
{$APPTYPE CONSOLE}
uses UnitWhole in 'UnitWhole.pas',
     UnitRational in 'UnitRational.pas',
     UnitRGBColor in 'UnitRGBColor.pas',
     UnitNumber in 'UnitNumber.pas';
procedure Test(n1: Number);
var n2, n3, n4: Number;
begin
  WriteLn('n1: '+n1.AsString);
  n2:=ClassNumber(n1.ClassType).CreateEqualTo(n1);
  WriteLn('n2: '+n2.AsString);
  n3:=n1.Plus(n2); WriteLn('n3 after n3:=n1.Plus(n2): '+n3.AsString);
  n4:=ClassNumber(n1.ClassType).Create; n4.Assign(n3);
  WriteLn('n4 after n4.Assign(n3): '+n4.AsString);
  if n3.IsEqual(n4) then WriteLn('n3 is equal to n4')
                    else WriteLn('n3 is not equal to n4');
  n4.MultiplyBy(n2);
  WriteLn('n4 after n4.MultiplyBy(n2): '+n4.AsString);
  n2.Destroy; n3.Destroy; n4.Destroy;
end;
var w: Whole; r: Rational; c: RGBColor;
begin
  w:=Whole.Create; w.SetValue(3);
  r:=Rational.Create; r.SetNum(2); r.SetDen(7);
  c:=RGBColor.Create; c.SetRed(0.2); c.SetGreen(0.8); c.SetBlue(0.6);
  Test(w); w.Destroy; WriteLn;
  Test(r); r.Destroy; WriteLn;
  Test(c); c.Destroy; ReadLn;
end.




                                    67