pascalabcnet/TestSuite/property6.pas
Бондарев Иван f406dfd173 fix #917
2018-08-10 14:22:52 +02:00

30 lines
663 B
ObjectPascal

type
TBaseClass = abstract class
property p1: byte read write; abstract;
property p2: byte read; abstract;
end;
TClass = class(TBaseClass)
b: byte;
property p1: byte read b write b; override;
property p2: byte read b; override;
end;
TClass2 = class(TBaseClass)
b: byte;
function getb := b;
procedure setb(value: byte) := b := value;
property p1: byte read getb write setb; override;
property p2: byte read getb; override;
end;
begin
var o: TBaseClass := new TClass;
o.p1 := 2;
assert(o.p1 = 2);
assert(o.p2 = 2);
o := new TClass2;
o.p1 := 2;
assert(o.p1 = 2);
assert(o.p2 = 2);
end.