ВУЗ:
Составители:
Рубрика:
62
function Whole.IsEqual(n: Number): Boolean;
begin
if (n is Whole) and (self.value=(n as Whole).value)
then result:=true
else result:=false;
end;
function Whole.AsString: String;
begin result:=IntToStr(self.value); end;
procedure Whole.SetValue(val: Integer);
begin self.value:=val; end;
function Whole.GetValue: Integer;
begin result:=self.value; end;
Пример 4.1.2. Реализация методов класса RGBColor.
function RGBColor.IsEqual(n: Number): Boolean;
var i: Integer;
begin
if n is RGBColor // типы текущего объекта и параметра должны
then begin // совпадать; вычисления осуществляются так же,
result:=true; // как и для векторов
for i:=1 to 3 do
if self.comp[i]<>(n as RGBColor).comp[i] then result:=false;
end
else result:=false;
end;
procedure RGBColor.Add(n: Number);
var i: Integer;
begin
if n is RGBColor
then for i:=1 to 3 do
self.comp[i]:=self.comp[i]+(n as RGBColor).comp[i]
else raise Exception.Create('Invalid operation');
self.Clamp; // насыщение результата
end;
procedure RGBColor.Subtract(n: Number);
var i: Integer;
begin
if n is RGBColor
then for i:=1 to 3 do
self.comp[i]:=self.comp[i]-(n as RGBColor).comp[i]
else raise Exception.Create('Invalid operation');
self.Clamp;
end;
function Whole.IsEqual(n: Number): Boolean;
begin
if (n is Whole) and (self.value=(n as Whole).value)
then result:=true
else result:=false;
end;
function Whole.AsString: String;
begin result:=IntToStr(self.value); end;
procedure Whole.SetValue(val: Integer);
begin self.value:=val; end;
function Whole.GetValue: Integer;
begin result:=self.value; end;
Пример4.1.2. Реал из ац ия м етод ов кл ас с а RGBColor.
function RGBColor.IsEqual(n: Number): Boolean;
var i: Integer;
begin
if n is RGBColor // типы текущего объекта и параметра должны
then begin // совпадать; вычисления осуществляются так же,
result:=true; // как и для векторов
for i:=1 to 3 do
if self.comp[i]<>(n as RGBColor).comp[i] then result:=false;
end
else result:=false;
end;
procedure RGBColor.Add(n: Number);
var i: Integer;
begin
if n is RGBColor
then for i:=1 to 3 do
self.comp[i]:=self.comp[i]+(n as RGBColor).comp[i]
else raise Exception.Create('Invalid operation');
self.Clamp; // насыщение результата
end;
procedure RGBColor.Subtract(n: Number);
var i: Integer;
begin
if n is RGBColor
then for i:=1 to 3 do
self.comp[i]:=self.comp[i]-(n as RGBColor).comp[i]
else raise Exception.Create('Invalid operation');
self.Clamp;
end;
62
Страницы
- « первая
- ‹ предыдущая
- …
- 60
- 61
- 62
- 63
- 64
- …
- следующая ›
- последняя »
