首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

这种类属性的声明代表 什么意思?解决思路

2013-10-21 
这种类属性的声明代表 什么意思???、typeMyClass ClassPrivateField1 : LongintField2 : LongintField3

这种类属性的声明代表 什么意思???、
type
  MyClass = Class
    Private
      Field1 : Longint;
      Field2 : Longint;
      Field3 : Longint;
      Procedure Sety(value : Longint);
      Function Gety : Longint;
      Function Getz : Longint;
    Public
      Property X : Longint Read Field1 Write Field2;
      Property Y : Longint Read GetY Write Sety;
      Property Z : Longint Read GetZ;
  end;


比如上面的这段程序中的  Property Y : Longint Read GetY Write Sety;  代表什么意思,有人会吗??? property
[解决办法]
首先,你这个例子的属性定义的write有问题

var
 mc:MyClass;
begin
 mc:=MyClass.Create;
//Wreite, 属性的写操作
 mc.Y:= 100; // 给MyClass的Y属性赋值100。
//Read, 属性的读操作 
ShowMessage(IntTostr(mc.Y)); // 访问MyClass对象的Y属性的值,用对话框显示出来。
end;

 Property Y : Longint Read GetY Write Sety;
 Write Sety 的意思就是Y属性的写操作是调用Sety方法
 Read GetY  则表示Y属性的读操作调用GetY 方法

另外,你这个例子的对象包装有问题,属性的的read和write对于的字段或方法应该是声明为private或protected的,声明为Public是没有意义的,因为属性访问关联的字段或方法应该是不应该对外公开的,
如果公开了Sety、GetY 这些方法,那么也没必要定义Y属性了,访问和修改Y的值直接用GetY 、SetY就行了,
不知俺这样说能明白么。 

热点排行