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()