第二十八章 Classes - 引用其他类的方法
引用其他类的方法
在方法(或例程)中,使用下面的语法来引用其他类中的方法:
要调用类方法并访问其返回值,请使用如下表达式:
##class(Package.Class).MethodName(arguments)
iris.cls("Package.Class").MethodName(arguments)
例如:
Set x=##class(Util.Utils).GetToday()
x=iris.cls("Util.Utils").GetToday()
也可以调用一个类方法而不访问它的返回值,如下所示:
Do ##class(Util.Utils).DumpValues()
iris.cls("Util.Utils").DumpValues()
注意:##class
不区分大小写。
- 要调用实例方法,创建一个实例,然后在
ObjectScript
或Python
中使用如下表达式来调用该方法并访问其返回值:
instance.MethodName(arguments)
例如:
Set x=instance.GetName()
x=instance.GetName()
你也可以在不访问返回值的情况下调用实例方法,方法如下:
Do instance.InsertItem("abc")
instance.InsertItem("abc")
并非所有方法都有返回值,因此请选择适合情况的语法。
对当前实例的引用
在实例方法中,有时需要引用当前实例本身,而不是实例的属性或方法。例如,在调用其他代码时,可能需要将当前实例作为参数传递。
在ObjectScript
中,使用特殊变量$THIS来引用当前实例。在Python
中,使用变量self
来引用当前实例。
Set sc=header.ProcessService($this)
sc=header.ProcessService(self)
网友评论