第二十二章 Classes - 调用类方法的快捷方式
调用类方法的快捷方式
使用 ObjectScript
调用类方法时,在以下情况下可以省略包(或更高级别的包):
- 引用是在一个类内,并且被引用的类在同一个包或子包中。
- 引用位于类内,并且该类使用
IMPORT
指令导入包含引用的类的包或子包。 - 该引用位于方法内,并且该方法使用
IMPORT
指令导入包含引用的类的包或子包。
从 ObjectScript
或 Python
调用类方法时,在以下情况下可以省略包(或更高级别的包):
- 指的是
%Library
包中的一个类,该类是经过特殊处理的。可以将类%Library.ClassName
引用为%ClassName
。例如,可以将%Library.String
引用为%String
。 - 指的是
User
包中的一个类,该类是经过特殊处理的。例如,可以将User.MyClass
引用为MyClass
。
在 User
包中不提供任何类,这些类是保留给使用的。
在所有其他情况下,必须始终使用完整的包和类名称来调用类方法。
类参数
类参数定义一个对于给定类的所有对象都相同的值。除了极少数例外,该值是在编译类时确定的,并且不能在运行时更改。将类参数用于以下目的:
- 定义一个在运行时无法更改的值。
- 定义有关类定义的用户特定信息。类参数只是一个任意的名称-值对;可以使用它来存储您喜欢的有关课程的任何信息。
- 自定义各种数据类型类用作属性时的行为(例如提供验证信息);这将在下一节中讨论。
- 为要使用的方法生成器方法提供参数化值。
- 可以在包含
ObjectScript
方法、Python
方法或两者组合的IRIS
类中定义参数。下面显示了一个带有多个参数的类:
Class GSOP.DivideWS Extends %SOAP.WebService
{
Parameter USECLASSNAMESPACES = 1;
/// Name of the Web service.
Parameter SERVICENAME = "Divide";
/// SOAP namespace for the Web service
Parameter NAMESPACE = "http://www.mynamespace.org";
/// let this Web service understand only SOAP 1.2
Parameter SOAPVERSION = "1.2";
///further details omitted
}
注意:类参数也可以是表达式,可以在编译时或运行时计算。
网友评论