第三十六章 Objects - 有用的 ObjectScript 函数

文章目录

  • 第三十六章 Objects - 有用的 ObjectScript 函数
  • 有用的 `ObjectScript` 函数

第三十六章 Objects - 有用的 ObjectScript 函数

有用的 ObjectScript 函数

ObjectScript 提供以下与对象类一起使用的函数:

  • $CLASSMETHOD 使能够运行类方法,以类名和方法名的形式给出。例如:
TESTNAMESPACE>set class="Sample.Person"
 
TESTNAMESPACE>set obj=$CLASSMETHOD(class,"%OpenId",1)
 
TESTNAMESPACE>w obj.Name
Van De Griek,Charlotte M.

当需要编写执行类方法的通用代码,但事先不知道类名(甚至方法名)时,此函数非常有用。例如:

 //read name of class from imported document
 Set class=$list(headerElement,1) 
 // create header object
 Set headerObj=$classmethod(class,"%New")

其他功能在类似场景中也很有用。

  • $METHOD 使能够在给定实例和方法名称的情况下运行实例方法。例如:
TESTNAMESPACE>set obj=##class(Sample.Person).%OpenId(1)
 
TESTNAMESPACE>do $METHOD(obj,"PrintPerson")
 
Name: Van De Griek,Charlotte M.
  • $PROPERTY 获取或设置给定实例的给定属性的值。例如:
TESTNAMESPACE>set obj=##class(Sample.Person).%OpenId(2)
 
TESTNAMESPACE>write $property(obj,"Name")
Edison,Patrick J.
  • $PARAMETER 在给定实例的情况下获取给定类参数的值。例如:
TESTNAMESPACE>set obj=##class(Sample.Person).%OpenId(2)
 
TESTNAMESPACE>write $parameter(obj,"EXTENTQUERYSPEC")
Name,SSN,Home.City,Home.State
  • $CLASSNAME 返回给定实例的类名。例如:
TESTNAMESPACE>set obj=##class(Sample.Person).%OpenId(1)
 
TESTNAMESPACE>write $CLASSNAME(obj)
Sample.Person

如果没有参数,该函数返回当前上下文的类名。这在实例方法中很有用。

你可能感兴趣的:(M,使用方案,python,linux,前端,编程,Cache,IRIS,程序)