目录
数据类型类(Data Type Classes
):用作对象类中文本属性的类型。本文中,简写为 DTC
。
一、DTC概述
1.1 DTC功能
DTC
提供以下功能:
- 它们通过提供
SQL 逻辑操作
、客户端数据类型 和 转换信息 来提供 SQL、ODBC、ActiveX 和 Java 互操作性。 - 它们为文本数据值提供验证,您可以使用
DTC
类参数扩展或自定义这些值。 - 它们管理文本数据的存储(在磁盘上)、逻辑(在内存中)和显示格式的转换。
有关编译器如何使用DTC
为属性生成代码的信息,请参阅“使用和重写属性方法”一章。
1.2 DTC与其他类的区别
DTC
在许多方面与其他类不同:
- 它们不能单独实例化或存储。
- 它们不能包含属性。
- 它们支持一组特定的方法(称为数据类型接口)。
1.3 属性(Property)方法及工作原理
Class Datatypes.Container Extends %RegisteredObject
{
Property P1 As %String;
Property P2 As %Integer;
Property P3 As %Boolean;
}
这里,我们称Datatypes.Container
为容器类。
当您向类添加文本属性并编译该类时,Caché
会向该类添加属性方法。属性方法控制容器类如何处理这些属性的数据。该系统的工作原理如下:
- 每个
DTS
都提供了一组方法,更具体地说是方法生成器,Caché
在编译使用它们的类时会使用这些方法。方法生成器是生成自己的运行时代码的方法。
在这里显示的示例中,当我们编译数据Datatypes.Container
类时,编译器使用%String
、%Integer
和%Boolean
的DTS
的方法生成器。这些方法生成器为每个属性创建方法,并将这些方法添加到容器类中。如上所述,这些方法称为属性方法。它们的名称以它们所适用的属性的名称开头。例如,对于P1
属性,编译器会生成P1IsValid()
、P1Normalize()
、P1LogicalToDisplay()
、P1ToDisplayToLogical()
等方法。 - 容器类在处理