zl程序教程

您现在的位置是:首页 >  其他

当前栏目

第九十三章 属性关键字 - Aliases

属性 关键字 十三 第九
2023-09-11 14:15:36 时间

文章目录

第九十三章 属性关键字 - Aliases

指定此属性的其他名称,以便通过对象访问使用。

用法

要为属性指定其他名称,请使用以下语法:

Property name As classname [ Aliases=othernames ]; 

其中othernames是用逗号分隔的有效属性名列表,用大括号括起来。

详解

如果指定别名关键字,编译器会创建一个或多个给定的别名,这些别名指向原始属性所指向的同一基础数据。例如,重新定义Sample.PersonName属性,如下所示:

Property Name As %String(POPSPEC = "Name()") [ Aliases = {Alternate}, Required ];

然后,代码可以使用Name属性或等效的Alternate属性,如以下终端会话所示:

SAMPLES>set p=##class(Sample.Person).%OpenId(1)
 
SAMPLES>w p.Name
Fripp,Charles Z.
SAMPLES>w p.Alternate
Fripp,Charles Z.
SAMPLES>set p.Alternate="Anderson,Neville J."
 
SAMPLES>w p.Name
Anderson,Neville J.

还为每个别名属性定义了与原始属性关联的任何属性方法,因此在本例中,AlternateIsValid()是可调用的,并返回与NameIsValid()方法相同的结果。此外,如果覆盖属性方法(例如,编写自定义NameGet()方法),则该覆盖将自动应用于一个或多个别名属性。

注意:此关键字对属性的SQL投影没有影响。

默认

默认情况下,此关键字为NULL,并且属性没有别名。

示例

Property PropA As %String [ Aliases={OtherName,OtherName2} ];