属性声明
PROPERTY [ READ ] Identifier AS Datatype
声明一个类的属性。
如果指定
READ
关键字,属性将是只读的。
一旦声明,属性必须生效:必须写一个读取该属性的函数,并且如果该属性不是只读的,还要写一个写入该属性的函数。
读属性的函数名是:属性名_Read。该函数没有参数,而且必须返回一个类型与属性数据类型相同的数据。
写属性的函数名是:属性名_Write。该函数是无返回值的过程,而且只有一个类型与属性数据类型相同的参数。
Examples
PROPERTY Enabled AS Boolean
PROPERTY READ Handle AS Integer
...
PRIVATE $bEnabled AS Boolean
PRIVATE $iHandle AS Integer
' Enabled属性生效
FUNCTION Enabled_Read() AS Boolean
RETURN $bEnabled
END
SUB Enabled_Write(bEnabled AS Boolean)
$bEnabled = bEnabled
UpdateEverything
END
' Handle属性生效
FUNCTION Handle_Read() AS Integer
RETURN $iHandle
END
属性同义词
PROPERTY [ READ | WRITE ] Identifier [ , Synonymous1 [ , Synonymous2 ... ] ] AS Datatype
自从 3.1
通过使用第二种语法,最多可以声明三个与声明的属性同义的属性。
属性快捷方式
PROPERTY [ READ | WRITE ] Identifier AS Datatype USE Variable
自从 3.14
此语法声明一个全局私有变量
Variable ,该变量将用于实现
Identifier 属性。
Property Name As String Use $sName
完全等效于:
Property Name As String
Private $sName As String
Private Sub Name_Read() As String
Return $sName
End
Private Sub Name_Write(Value As String)
$sName = Value
End
如果需要,可以重写
Read
或
Write
或两种默认属性方法:
Property Name As String Use $sName
Private Sub Name_Write(Value As String)
If Not Value Then Error.Raise("Incorrect name")
$sName = Value
End
参见