首页 理论教育 了解非智能虚拟控件在计算机界的应用

了解非智能虚拟控件在计算机界的应用

时间:2023-06-28 理论教育 版权反馈
【摘要】:方法是一种过程,对发送给控件的消息进行响应,其结构包括方法名、消息模式表、局部变量定义及方法过程体。方法名用以区分不同的方法;消息模式表定义方法被触发的消息模式,一个方法被触发的条件是这个方法的消息模式与发送给控件的消息相匹配;局部变量定义方法范围内有效的局部变量;方法过程体用来执行过程操作与数值计算。

了解非智能虚拟控件在计算机界的应用

面向对象的方法提供了从一般到特殊的演绎手段,又提供了从特殊到一般的归纳形式,是一种很好的计算机表达方法。非智能虚拟控件的计算机表达方法就采用了面向对象的方法,将所有非智能虚拟控件分成各种控件类,控件间除了通过消息传递完成通信外,不再有其他联系,所以控件类的定义非常模块化,具有相对独立性和高内聚的优点。一切控件的信息和实现方法都被封装在相应的控件类的定义中,在外部是不可见的。每一个控件类按超类、类、子类和成员的概念构成一种层次结构,在这种层次结构中,上一层控件所具有的一些属性或特征可被下一层控件所继承。这种控件的分类表达及其继承特性提高了控件的复用能力,避免了描述中的信息冗余,并且大大缩短了控件的开发周期。

1.非智能虚拟控件表达的基本结构

面向对象的非智能虚拟控件表达的基本结构如图7-10所示,它由四类槽组成。

(1)属性槽 属性槽表示设计控件的数据或数据结构,即静态属性。一个属性槽可以用多个侧面来描述属性槽的各个特征,例如,Valueclass侧面表示槽值类型;In-heritance侧面表示继承属性;Value侧面用来记录槽值。

(2)关系槽 关系槽表示控件与其他控件之间的静态关系。例如,Superclass槽表示控件的子类与超类的关系;Member槽表示控件类与控件实例的关系;Subclass与Member of分别是Superclass和Member的逆关系。根据需要可以定义其他表示控件间关系的槽,用来表示控件间的位置关系\装配关系等丰富的信息。

978-7-111-33186-5-Part01-283.jpg

图7-10 面向对象的非智能虚拟控件表达的基本结构

(3)方法槽 方法槽用来存放控件中的方法。方法是一种过程,对发送给控件的消息进行响应,其结构包括方法名、消息模式表、局部变量定义及方法过程体。方法名用以区分不同的方法;消息模式表定义方法被触发的消息模式,一个方法被触发的条件是这个方法的消息模式与发送给控件的消息相匹配;局部变量定义方法范围内有效的局部变量;方法过程体用来执行过程操作与数值计算。

(4)规则槽 规则槽用来存放产生式规则集。产生式规则按照所处理的对象不同加以分组,分别以槽值的形式存放在规则槽中。一个控件中可以具有不同的规则槽用来存放完成不同任务的产生式规则子集。(www.xing528.com)

非智能虚拟控件的形式定义用巴科斯范式(Backus Normal Form(BNF))表示如下:

<控件>::=unit:<控件名>;

978-7-111-33186-5-Part01-284.jpg

978-7-111-33186-5-Part01-285.jpg

2.非智能虚拟控件的静动态属性表达

非智能虚拟控件的静态属性包括描述控件的一组静态数据或静态数据结构,以及控件与其他控件之间的静态关系,分别由属性槽和关系槽表达。控件框架中一般有两种基本的关系槽:一是表达控件间的分类关系,用超类、类、子类、成员等槽来表达;二是表达控件间的整体与局部的分解关系,用部件槽表示。关系槽的槽名代表了相应的关系名,而槽值就代表另一个控件的框架名。

超类控件可以被它的子类控件所共享,这要通过继承来完成。子类控件在被创建过程中只需表达其特殊属性结构和处理功能,共有属性可以直接从其父辈控件类中继承下来。控件的分类表达及其继承性提高了控件的复用能力。

非智能虚拟控件的动态属性包括控件的行为描述与过程处理,主要有方法、产生式规则和激活值三种方式表达控件。方法用来表达具有良好的数学模型和过程性,需要复杂的数值计算与过程控制,易于用过程性语言来表达的控件。产生式规则用来表达基于专家经验,具有启发性、不能用严格的数学模型描述的控件。方法和规则都以槽值的形式存在于控件之中,它们都可以被控件类的子类所继承。激活值也是一个过程,它附着在控件的某个槽中,作为该槽的一个附加侧面。当槽值改变时,自动触发由激活值所指定的过程。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈