Pb语言中的类和对象

类和对象是相关但不相同的概念。对象是一个类的实例,而类可以有零个或多个实例。对象(object)是相关函数和数据的一个包。类只是一个模板,从中可以创建特定的实例。用户在PowerBuilder中创建的所有窗口都属于类Window。对象是类的实际物理表示,是用户创建和取消的内容。
PowerBuilder将每个类——系统类以及用户所创建的类——定义为一个数据类型并将它们作为一个层次结构来维护。
使用Object Browser,用户可以设置希望缩放的特定类的类型。
这里写图片描述

创建和删除类

可以用Create语句生成对象类的一个实例。必须使用该语句的唯一类就是不可视用户对象,如标准类(例如transaction和error)或弹出式菜单。可视的用户对象和窗口应该用相应的Open()函数创建。在用户访问对象的特性和方法前必须用Create语句实例化一个对象变量。例如,要创建Error对象的一个本地版本,代码为:

//对象变量eMyError,对象类Error
Error eMyError
eMyError = Create Error
eMyError.Line = 1

例如,要创建一个可视化的用户窗口类w_about的实例,代码为:

Open(w_about)

//或用局部变量wInstance1指向这个实例
w_about wInstance1
Open(wInstance1,"w_about")

警告:如果用Create来建立窗口类的一个非可视实例,则不触发Open事件。事实上,与可视窗口相关联的所有事件都不会触发,因为窗口的图形组件无法生成。

当用户使用Create语句时,PowerBuilder为该对象分配内存。该内存一直保持到由Destroy语句释放它为止。例如,在上述示例的脚本的结尾,要求的代码为:

Destroy eMyError

类和实例池

PowerBuilder维护了三个独立的内存池用于跟踪类、实例和Windows显示信息
当首次对一个特定类实例化时,将把类定义调入类池中,然后在实例池中创建一个实例。该对象随后的实例化将直接从类池中提取其定义。根据实例化对象的方式,该实例的一个指针要么在全局内存中,要么位于所使用变量的作用域层。PowerBuilder用另一个池——Windows池保存某个对象的实际Windows显示方面的信息。最后这个Windows池仅用于可视类,如窗口、菜单和用户对象。

目 录 一、 实现目标 4 二、 框架构思及概念图 4 三、 数据(DataClass) 5 3.1、 系统对象信息(D_SYSOBJECTS) 5 3.2、 系统字段信息(D_SYSCOLUMNS) 6 3.3、 主外键关系(D_SYSFOREIGNKEYS) 6 四、 资源(ResourceClass) 7 4.1、 框架参数(FrameworkParameter) 7 4.2、 数据元素字典D_DATAELEMENT(DataElement) 8 4.3、 字段属性表达式(D_SYSCOLUMNS_ATTRIBUTES) 9 4.4、 系统参数字典(D_SYSPARMDICT) 9 五、 信息(InformationClass) 10 六、 功能(FunctionClass) 10 七、 组织(OrganizeClass) 11 7.1、 角色(Role) 11 7.2、 操作员(Operator) 11 八、 框架设计结构图 11 8.1、 数据项属性表达式部分 11 九、 窗口基设计 12 9.1、 带有提示栏的窗口 12 十、 数据窗口服务及相关对象 13 10.1、 框架参数对象(uo _FrameworkParameter) 13 10.2、 表达式替换 14 10.3、 操作员数据权限(my_n_cst_dwsrv_popedom_data) 15 10.4、 修改属性表达式(my_n_cst_dwsrv_ModifyDWExpression) 15 10.5、 修改字段显示标题(my_n_cst_dwsrv_ModifyColumnTitle) 16 10.6、 关联查询服务(my_n_cst_dwsrv_RelationSearch) 16 10.7、 GRID风格DW打印服务(my_n_cst_dwsrv_DWPrint) 18 10.8、 DW显示风格设置(my_n_cst_dwsrv_ViewStyle) 19 10.9、 系统字典维护工具 20 10.9.1、 数据结构字典定义 20 10.10、 允许用户进行自定义的参数(D_SYSCONFIG) 21 十一、 简单业务流程处理(Simple Business Flow) 22 11.1. 简单业务流程的定义 22 11.1.1. 业务流程环节的定义 23 11.1.2. 业务流程的实例化 24 11.1.3. 任务数据的检索 26 11.1.4. 业务流程处理引擎(my_n_cst_workflowengine) 27 11.1.5. 界面设计 31
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值