type
tshapexy=class(tobject) //形状类
public
procedure draw;virtual;abstract;
end;
type
tpointxy=class(tshapexy) //点类
public
constructor create(x0,y0:real); //默认构造函数
procedure setpointxy(x0,y0:real); //设置坐标值的函数
procedure draw(x0,y0:real); //画点
function geta1:real; //读取a1坐标值
function getb1:real; //读取b1坐标值
protected //设置保护成员让派生类访问
a1,b1:real; //点a1,b1的坐标
end;type
tlinexy=class(tpointxy) //直线类
public
constructor create(x0,y0,x1,y1:real); //默认构造函数
procedure setlinexy(x0,y0,x1,y1:real); //设置坐标值的函数
procedure draw(x0,y0,x1,y1:real); //画直线
function geta2:real; //读取a2坐标值
function getb2:real; //读取b2坐标值
protected //设置保护成员让派生类访问
a2,b2:real; //点a2,b2的坐标
end;type
tcirclexy=class(tpointxy) //圆类
public
constructor create(x0,y0,rr:real); //默认构造函数
procedure setcirclexy(x0,y0,rr:real); //设置坐标值的函数
procedure circlepoint(x,y,x0,y0:real);
procedure draw(x0,y0,rr:real); //画圆
function getr:real; //读取r大小
protected //设置保护成员让派生类访问
r:real; //r的大小
end;
type
tellipsexy=class(tpointxy) //椭圆类
public
constructor create(x0,y0,aa,bb:real); //默认构造函数
procedure setellipsexy(x0,y0,aa,bb:real); //设置坐标值的函数
procedure putfour(x0,y0,x,y:real);
procedure draw(x0,y0,aa,bb:real); //画椭圆
function geta:real; //读取a大小
function getb:real; //读取b大小
protected //设置保护成员让派生类访问
a,b:real; //a,b的大小
end;
type
trectxy=class(tpointxy) //矩形类
public
constructor create(x0,y0,x1,y1:real); //默认构造函数
procedure setrectxy(x0,y0,x1,y1:real); //设置坐标值的函数
procedure draw(x0,y0,x1,y1:real); //画矩形
function geta3:real; //读取a3大小
function getb3:real; //读取b3大小
protected //设置保护成员让派生类访问
a3,b3:real; //点a3,b3的坐标
end;
tshapexy=class(tobject) //形状类
public
procedure draw;virtual;abstract;
end;
type
tpointxy=class(tshapexy) //点类
public
constructor create(x0,y0:real); //默认构造函数
procedure setpointxy(x0,y0:real); //设置坐标值的函数
procedure draw(x0,y0:real); //画点
function geta1:real; //读取a1坐标值
function getb1:real; //读取b1坐标值
protected //设置保护成员让派生类访问
a1,b1:real; //点a1,b1的坐标
end;type
tlinexy=class(tpointxy) //直线类
public
constructor create(x0,y0,x1,y1:real); //默认构造函数
procedure setlinexy(x0,y0,x1,y1:real); //设置坐标值的函数
procedure draw(x0,y0,x1,y1:real); //画直线
function geta2:real; //读取a2坐标值
function getb2:real; //读取b2坐标值
protected //设置保护成员让派生类访问
a2,b2:real; //点a2,b2的坐标
end;type
tcirclexy=class(tpointxy) //圆类
public
constructor create(x0,y0,rr:real); //默认构造函数
procedure setcirclexy(x0,y0,rr:real); //设置坐标值的函数
procedure circlepoint(x,y,x0,y0:real);
procedure draw(x0,y0,rr:real); //画圆
function getr:real; //读取r大小
protected //设置保护成员让派生类访问
r:real; //r的大小
end;
type
tellipsexy=class(tpointxy) //椭圆类
public
constructor create(x0,y0,aa,bb:real); //默认构造函数
procedure setellipsexy(x0,y0,aa,bb:real); //设置坐标值的函数
procedure putfour(x0,y0,x,y:real);
procedure draw(x0,y0,aa,bb:real); //画椭圆
function geta:real; //读取a大小
function getb:real; //读取b大小
protected //设置保护成员让派生类访问
a,b:real; //a,b的大小
end;
type
trectxy=class(tpointxy) //矩形类
public
constructor create(x0,y0,x1,y1:real); //默认构造函数
procedure setrectxy(x0,y0,x1,y1:real); //设置坐标值的函数
procedure draw(x0,y0,x1,y1:real); //画矩形
function geta3:real; //读取a3大小
function getb3:real; //读取b3大小
protected //设置保护成员让派生类访问
a3,b3:real; //点a3,b3的坐标
end;
坐标的数据类型用real?