Object Script(四)

面向脚本

  • 类的主要类型

    类型 适用目的
    Persistent   持久化对象, 够将对象保存到数据库中(写入磁盘),单独存储.
    Serial   在持久化对象内部存储的对象,随持久化对象存储,不单独存储. 在给此对象中的属性赋值之前,不需要调用%New()来创建新的对象。如果此对象的属性包含在一个持久化类中,那么此对象的属性将被存储在持久化类的范围内。
    Registered 临时的类和对象,不持久化(方法会保存).
    Abstract 当类的属性被设置为abstract的时候,该类即被声明为抽象类,不能被实例化.
    Datatype   数据类型,只包含数据验证和转换的方法.
    CSP 用于处理HTTP事件

     

    类成员

    类型 适用目的
    Properties 一个属性包含类的一个实例的数据.
    Methods 实例方法和类方法(在其他语言中称为静态方法)。在大多数情况下,一个方法是一个子程序
    Class Queries 类查询定义了可以被类使用的SQL查询,并指定了一个类作为查询的容器。
    Parameters 参数定义了一个常量值供这个类使用。该值在编译时被设置
    Xdata 一个XData块是类中一个格式良好的XML文档,供类使用
    Storage 数据的存储方式

     

  • 创建类示例

  • Studio创建:

    打开Studio,点击左上角新建文件。选择General->ClassDefinition->点击OK

     

     

     

    选择包名,填入类名->点击Next

     

     

     

     

    根据需要选择你想创建的类的类型->点击Next

     

     

    Owner和SQL 表名,根据需要填写,也可不填写。

     

     

    将下段代码填写入建好的类中:

    Class HIS.Patient Extends (%Persistent, %XML.Adaptor)
    
    {
    
    Property IDCard As %String;
    
    Property PatNo As %String;
    
    Property Name As %String;
    
    Property Gender As %String;
    
    Property DOB As %Date;
    
    Property Citizenship As %String;
    
    Property PhhoneNumber As %String;
    
    }

     

     

    Terminal 调用:

    set p = ##class(HIS.Patient).%New()
    set p.PatNo = "234567
    set p.Name = "Li Xunhuan
    set p.Gender = "Male
    set p.DOB = $zdh("1980-10-01",3)
    w p.%Save()
    w p.%Id()