例子:property  Color: TColor read GetColor write SetColor stored IsColorStored;
定义方式:property 属性名:属性数据类型   read子句(1)  write子句(2)  其他子句(3);
(1)read子句用于来读取属性的方法或字段.如果指定的是字段(Field),则字段的数据类型必须与属性的
   数据类型相同.如果指定的是方法,则通常是一个不带参数的函数,它的返回类型就是属性的类型,而且
   函数名通常以'Get'开头.
(2)a.Write子句用于指定修改属性的方法,通常是一个过程,而且是一个只有一个参数的过程,参数的数据类型与属性的相同,主要用于传递新值,过程名通常以'Get'开头.在定义方法时,通常首先比较属性的新值与默认值,如不同,就保存在一个字段中,以确保得到的总是最新值.
   b.可以没有write子句,表示属性就是'只读',不能被修改.  
注:read和write子句中指定的方法或字段通常在类的private部分声明,即都是私有的.

(3)stored,default和nodefault子句
  
   a.stored子句用于指定一个布尔表达式(可以是一个布尔常量,布尔类型的字段或返回布尔值的函数),用来控制属性的存储行为,通常只适合与非数组的属性.
         表达式为false时,不将属性值存到Form文件中;为true时,先比较属性的当前值与默认值.相等就不存,不等或者没默认值,就把当前值存到Form文件中.
  
   b.default子句指定属性的默认值.注意:这里所说的默认值,只是用于与属性的当前值进行比较,以确定是否把属性值存储到Form文件中.default后面必须跟的是一个类型与属性类型一致的常量.
     注:default子句只适合在1~31之间的集合类型或有序类型的属性.
  
   c.nodefault子句强调属性没有默认值,相当于没有写.必须明确地使用的情况例如:属性在基类中是有默认值的,而派生类不希望它有默认值,就要用nodefault子句把原有的默认值去掉.