作者

Sales Engineer at InterSystems
文章 Jingwei Wang · 九月 22, 2021 2m read

Object Script基础知识(四)

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()setp.PatNo = "234567setp.Name = "LiXunhuansetp.Gender = "Malesetp.DOB = $zdh("1980-10-01",3)wp.%Save()w p.%Id()