Database 版 (精华区)

发信人: zhaowei (小燕子), 信区: Database
标  题: 11.3 类用户对象
发信站: 紫 丁 香 (Fri Jun 11 16:20:45 1999), 转信

户对象。它也具有非常广泛的应用领域。比方说,在制作一个商用数据库软件的时候,
经常会使用某些商业规则对数据进行重复地计算和处理。如果我们定义一个用户对象,
由它来管理这套数据处理的办法,那就会使程序的设计工作方便很多。
下面我们通过一个例子来说明如何建立和使用类用户对象。首先单击POWER BAR上面的用
户对象画板按钮。系统弹出对象选择对话框。如图2。
单击NEW按钮,新建一个对象。接着,系统询问新建用户对象的类型。
关于这两个组框的含义,在介绍可视化用户对象的时候已经进行了大致的说明。CLASS
组框当中的STANDARD图标表示标准类型的类用户对象。POWER BUILDER本身带有一些不
可视的用户对象,比方说前面曾经提到过的系统事务处理对象,通过继承这些系统对象生
成的类用户对象就是标准类型的类用户对象。CUSTOM图标表示定制的类用户对象,顾名思
义就是用户自己定义的类对象。我们选中这个图标,建立一个定制类用户对象。单击OK按
钮,进入用户对象画板的工作区。如图11-12。
图11-12

这个矩形框就代表着用户对象,由于类用户对象是不可见的,所以我们不能在它上面布置
任何的可视控件。接下来要做的工作是为这个对象封装属性和函数。在对象上面单击鼠
标右键,弹出菜单。如图11-13。
图11-13
GLOBAL VARIABLES,SHARED VARIABLES,INSTANCE VARIABLES这三个命令都可以用来为对
象定义变量属性。
GLOBAL VARIABLE 是全局变量,它可以从应用程序的任何地方直接访问。
INSTANCE VARIABLE是实例变量,什么是实例呢?我们在这里定义的是类用户对象,它相
当于一个模板,进行程序的设计的时候,我们可以在需要的时候根据这个模板生成具体
的对象,这些具体的对象才是我们真正使用的东西,它们被称为实例。实例变量就是为
一个对象产生的所有实例定义的,但是它的值对于每一个实例而言又是不同的。
SHARED VARIABLE是共享变量,和实例变量一样,它也是与一个对象的所有实例都有关
系,不同的是共享变量在每一个实例变量当中都具有相同的值。我们
选择INSTANCE VARIABLE 定义一个实例变量。屏幕上弹出声明实例变量的对话框。
如图11-14。
图11-14

在里面敲入需要定义的变量。单击OK按钮,关闭对话框。再次在对象上面单击鼠标右
键,选择USER OBJECT FUNCTIONS 命令,为对象封装函数。如图11-15。
图11-15

屏幕上显示函数选择对话框,单击NEW按钮新建一个函数。如图11-16。
图11-16

在NAME 一栏当中,输入函数的名字。单击ACCESS列表框,如图11-17。
图11-17

在这里可以定义这个函数的访问类型,PUBLIC 表示可以从应用程序的任何地方访问这个
函数,PRIVATE表示这个函数只能在当前对象的脚本当中被访问,而PROTECTED 则表示只
有当前对象以及当前对象的子对象可以访问这个函数。我们选择PRIVATE类型。
在RETURN列表框中可以选择当前函数运行的返回值类型。我们接受缺省的INTEGER整数类
型。下面的ARGUMENT组框是用来定义当前函数的参数表的。我们要定义的函数只接受
一个参数,输入参数的名称,在参数类型选择列表框当中选择需要的参数类型。
PASS BY列表框是用来定义参数传递方法的。单击这个列表框,如图11-18。
图11-18

VALUE方式的意思是传参的时候将这个参数复制一份,再利用这个值进行计算,函数操
纵的是参数的复制品,这样函数被调用结束的时候将不会影响参数的值,这个参数实际
上就相当于C语言中的形参;
REFERENCE引用方法的意思就是函数进行数据处理的时候将会直接地操纵这个参数,这意
味着在函数当中将可以改变参数的值,这个参数实际上就相当于C语言中的变参;
READ ONLY方式与引用方式的不同之处在于函数只能读参数的值而不能直接改变参数。我
们选用REFERENCE方式。
进行了以上的设置之后,单击OK按钮,就进入了POWER BUILDER 的函数工作区,
我们可以在这里输入需要的函数定义了。如图11-19。
图11-19

关闭工作区,选择"是"保存这个函数。前面我们已经完成了给对象封装变量和函数的工
作,关闭工作区,单击"是"按钮确认保存这个对象,给对象取一个名字,单击OK按钮。
如图11-20。
图11-20

这样就完成了一个类用户对象的定义。那么如何使用这个类用户对象呢?下面举一个例
子。打开一个已经准备好的应用程序,在需要使用用户对象首先声明一个用户对象:
calplan instance
然后使用CREATE生成类用户对象的一个实例:
instance = CREATE calplan
当对象例化之后,我们就可以使用这个实例进行工作了。
需要注意的是当不再需要使用这个对象的时候,必须用DESTROY语句来清除这个对象:
DESTROY calplan
在程序中其它使用这个类用户对象的地方也要进行同样的工作。我们运行这个程序。刚
才定义的对象可以使用两种处理方案进行数据处理,按下"按方案一计算按钮",对象对
数据取整加和,如图11-21。
图11-21

按下"按方案一计算按钮",对象对数据进行四舍五入加和,如图11-22。
图11-22

类用户对象的定义和使用的方法就介绍到这里。
 

--
 我和一个朋友去散步,遇见一个漂亮的少妇带着一个小孩平时极腼腆的朋友一改
平日恹恹睡态,勇敢的走上前去, ∴
         《||||||||||||||||||||■※※◎    亲切的看着那小孩说:
                               ∵    ."   多可爱的孩子啊,
                                 ...''   抬头看看少妇,
                               ~"'     “还有孩子他妈!”

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.226.249]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.055毫秒