发明名称 用以施行软体物件之方法与系统
摘要 本发明系提供一种利用一物件原型模型的施行软体物件之新系统。物件系定义为特性的集合,其中各个均具有唯一的特性名称。特性名称的集合系定义出一”外形”。外形的使用可使物件在记忆体中的表示免于用该物件的特性被宣告之次序。方法的定义系与物件无关并同与其为适用于一指定的外形,而非适用于从该方法被定义的类别中所导出的物件。方法可被应用于任何具有该被指定的外形或是具有定义该被指定的外形之特性的上层集合(super set)之物件,不管该物件是在任何继承之层次架构( hierarchy)之中。一外形的定义亦可包括额外的选择条件,例如在特性之数值上的限制,使得方法的应用可被限制于满足该指定的条件之物件。物件的特性可被分为代表该物件的不同特点之子群(subgroup)并且物件的不同子群可继承自不同的父(parent)物件,根据has-a或is-a之层次架构。一物件的外形系藉由其所有的特性来决定,并且不受限于子群的界限。
申请公布号 TW314615 申请公布日期 1997.09.01
申请号 TW085112737 申请日期 1996.10.18
申请人 构想智慧公司 发明人 马克B.麦考唐诺;麦可B.欧尔
分类号 G06F9/45 主分类号 G06F9/45
代理机构 代理人 林镒珠 台北巿长安东路二段一一二号九楼
主权项 1.一种施行及管理软体物件的计算机施行之方法,其提供一软体物件的多个观点并且从一特殊的观点在处理该物件中消除不明确之处,此方法包含:定义对应于一第一组特性的行为,该行为包含至少一个方法并且该第一组特性系定义该行为的外形;定义一第一软体物件以包含一第二组特性,该第二组特性系定义该第一软体物件的外形并且系至少被分成一第一与一第二的特性子群,各个该第一与第二的特性子群系代表该物件之一特点;定义一第二与一第三软体物件;从该第二软体物件继承在该第一子群中的一特性并且从该第三软体物件继承在该第二子群中的一特性,每个子群的继承路径可个别地由一程式设计者指定;当该第一组特性包含该第二组特性的一个上层集合时应用该行为的方法之其中之一至该第一软体物件,其中该动作的定义系与任何的特别之物件无关,并且当第二组特性系相同于或是为该第一组特性的上层集合时该行为为一般可应用至一物件,而不论该物件的子群结构或是继承层次架构为何。2.一种施行及管理软体物件的计算机施行之方法,其提供一软体物件的多个观点并且从一特殊的观点在处理该物件中消除不明确之处,此方法包含:定义对应于一第一组特性的行为,该行为包含至少一个方法并且该第一组特性系定义该行为的外形;定义一软体物件以包含一第二组特性,该第二组特性系定义该物件的外形;当该第一组特性包含该第二组特性的一个上层集合时应用该行为的方法之其中之一至该软体物件,其中该行为的定义系与该物件无关,并且当第二组特性系相同于或是为该第一组特性的上层集合时该行为为一般可应用至一物件,而不论该物件的继承层次架构为何。3.如申请专利范围第2项之方法,其更包含在应用该其中之一方法之前测试该物件以另一条件。4.如申请专利范围第3项之方法,其中在该第二组中的特性系具有相关的特性値并且其中以另一条件测试该物件系包含比较其中之一之该相关的特性値与一特定値或是値的范围。5.如申请专利范围第2项之方法,其中定义对应于一第一组特性的行为以及定义一软体物件以包含一第二组特性系包含定义包括于该第一与第二组特性中的特性之独特的名称。6.如申请专利范围第5项之方法,其更包含建立一该特性之唯一的名称之表。7.如申请专利范围第2项之方法,其更包含建立一包括该物件或是该行为的每个独特的外形之条目的表。8.如申请专利范围第7项之方法,其中定义一软体物件系包含定义多个软体物件,其中至少某些具有不同的外形,并且其中建立一包括每个独特的外形之条目的表系包含建立一具有每个独特的物件或是方法外形之条目的表。9.如申请专利范围第7项之方法,其中该外形表包含一转换表以藉由利用对应于一第二外形之特性标记来参照在第一外形中的特性。10.如申请专利范围第9项之方法,其中该转换表包含一对应表。11.如申请专利范围第9项之方法,其中该转换表包含一包括取得与设定方法的方法表。12.如申请专利范围第7项之方法,其中该物件的特性具有値并且在外形表中的每个外形具有一方法的相关表以取得与设定该特性値。13.如申请专利范围第2项之方法,其中该物件的特性具有値并且更包含储存该特性値或是参考至一特性値向量中的特性値。14.如申请专利范围第2项之方法,其中该物件的特性具有値并且更包含储存该特性値或是参考至取得与设定的方法所存取的一资料结构中的特性値。15.如申请专利范围第14项之方法,其该取得与设定的方法系被储存于该外形表中的一方法指标向量中。16.如申请专利范围第2项之方法,其中该物件的特性具有値并且该物件包含一方法表系包括方法或是参考至取得与设定特性値的方法。17.如申请专利范围第2项之方法,其中定义行为包含增加一该行为的方法之参考标记至一方法表中。18.如申请专利范围第17项之方法,其中每个物件均包含一方法表并且其中定义行为系包含增加一该行为的方法之参考标记至具有可转换至该方法的外形之外形的每个物件的方法表中。19.如申请专利范围第17项之方法,其中增加该行为至一方法表中系包含增加该行为至一通用的方法表中。20.如申请专利范围第19项之方法,其中应用该行为的方法之其中之一至一软体物件系包含搜寻该方法表以指出具有相同于被应用的方法之名称以及具有一该物件可转换至的外形的方法。21.如申请专利范围第2项之方法,其更包含定义多个父软体物件并且其中的定义一软体物件系包含分割该软体物件成为特性的子群,每个子群系具有至少一特性値为继承自一不同的父软体物件。22.如申请专利范围第21项之方法,其中分割该软体物件成为特性的子群系包含定义该第一组特性中的特性于多个不同的特性子群之中。23.一种用于组成软体物件的计算机施行之方法,其中该软体物件系包含特性,每个特性系具有或是能够被指定一特性値,此方法系包含:定义一第一软体物件以包含一组特性;定义一第二软体物件以包含一组特性,该特性系至少被分成一第一与一第二的特性子群,各个该第一与第二的子群系代表该物件之一特点;继承自该第一软体物件在该第一子群中的至少一个特性之値,其中在该第二子群中的特性并不继承自该第一软体物件,每个子群的继承系由程式设计者的宣告所指定而非由一程式设计语言的环境所预先决定。24.如申请专利范围第23项之方法,其中定义一第二物件系包含指明在每个子群中的那些特性将会继承,其中一程式设计者系预先决定在一子群中的个别的特性是否继承自该子群之父物件。25.如申请专利范围第23项之方法,其中该第二物件系包含于该第一物件之中。26.如申请专利范围第25项之方法,其中定义一第一软体物件系包含宣告该第一软体物件的一特性为一个参与一继承层次架构的组件并且更进一步包括指定该第二物件为该被宣告成一组件的特性之値。27.如申请专利范围第26项之方法,其中:定义一第二软体物件系包含提供第一与第二子群名称给该个别的第一与第二子群;定义一第一软体物件系包含分割在该第一物件中的特性成为至少两个子群,其系包含一第三与第四子群,并且提供该第三子群一个相同于该第一子群名称的第三子群名称;以及继承自该第一软体物件在该第一子群中的至少一个特性之値系包含继承在该第三子群中的特性之値,其中在一子物件中的特性値系继承自在一父物件中具有与在该子物件中的一子群相同的名称的一子群,当该子物件系本身被指定为在该父物件中的一特性之値时。28.如申请专利范围第27项之方法,其中宣告一特性以成为一组件系包含宣告以成为一组件的特性系存在于该第三子群之中。29.如申请专利范围第27项之方法,其中宣告一特性以成为一组件系包含宣告以成为一组件的特性系存在于该第一物件的一子群之中而非第三子群之中。30.如申请专利范围第23项之方法,其中定义一第二物件系包含为至少一个子群宣告一父物件并且其中之继承一特性値系包含从该父物件继承一特性値。31.如申请专利范围第30项之方法,其中第一与第二子群具有不同的父物件。32.如申请专利范围第30项之方法,其中定义一第二物件系包含系包含指明那些特性将会继承自该相对应的子群之父层。33.如申请专利范围第23项之方法,其更包含定义行为以应用至任何具有一个该第二物件的特性之特殊的子集合之物件。34.如申请专利范围第33项之方法,其中该行为所应用至的特性之子集合系包含来自特性之多个子群的特性。35.如申请专利范围第23项之方法,其更包含定义一第三软体物件,该第二物件的第一以及第二子群各个系继承至少一个特性値自该个别的第一与第三个物件。36.如申请专利范围第35项之方法,其中在第一与第二子群中的特性系被个别地指明其是否继承自该个别的第一与第三个物件,其中一子物件的每个子群可以具有一不同的父物件并且在该子物件的子群中之特性可被个别地控制是否继承该相对应的父物件。37.如申请专利范围第23项之方法,其中:定义一第二物件系包含定义一第二物件为该第一物件的一型式;以及定义一第二软体物件系包含宣告该第一物件为该第一子群的父物件;其中在一子群中的特性系透过一种has-a层次架构来继承自一指定的父层,每个子群的父层系为可个别地宣告。38.如申请专利范围第37项之方法,其中定义一第二物件系包含指明在一子群中的个别的特性是否继承自该指定的父层。39.一种以计算机施行的物件施行之方法,其使得在一包含有多个物件以及方法的系统中之物件以及行为的施行变为容易的,其系包括:定义特性名称在系统中为唯一的;定义一物件来包含该唯一的特性名称之子集合,在该物件中的每个特性名称系具有一在物件中的特性号码,其系描述在该子集合中相对于其它的特性之次序;藉由参照至该在物件中的特性号码而非参照至该唯一的特性名称来存取在该物件中的特性。40.如申请专利范围第39项之方法,其更包含定义一方法以运算于具有一组指定的特性之物件,在该方法中的特性系由在物件中的特性号码所参照。41.如申请专利范围第39项之方法,其更包含指定一个唯一的索引号码给每个唯一的特性名称并且维持一个根据该索引号码的关系表以在来自不同的物件以及方法不同的在物件中的特性号码之间做转换。42.如申请专利范围第41项之方法,其更包含再指定该至少其中之一独特的特性名称一个不同且唯一的索引号码以减少从不同的物件及方法之不同的物件中之特性号码之间转换所需的时间。43.一种使其中特性値系继承自父特性的计算机施行系统中之记忆体配置最佳化的方法,其系包含有:定义特性名称在系统中为唯一的;定义第一与第二物件,每个各包含该唯一的特性名称之一子集合;定义一继承关系其中该第一物件的至少一个特性値系由该第二物件的相同之特性所继承;利用单一之记忆体配置来储存该被继承的特性値。44.一种以计算机施行且易于物件与行为之施行的物件施行器,其系包含有:一通用的特性组;对应于系为该通用的特性组之一子集合的第一组特性之行为,该行为系包括至少一个方法并且该第一组特性系定义该行为的一外形;一被定义以包含一第二组特性的软体物件,该第二组特性系为该通用的特性组之一子集合且定义了该物件的一外形,其中该行为的定义系与该物件无关并且系可被应用至该第二组特性系相方同于或是为该第一组特性的一上层集何之物件上。45.如申请专利范围第44项之物件施行器,其更包含一个包括有对应至该通用的特性组之每个唯一的特性之条目的名称表。46.如申请专利范围第44项之物件施行器,其更包含一个包括有对应至该物件以及该行为之每个唯一的外形的外形表。47.如申请专利范围第46项之物件施行器,其更包含至少一个额外的软体物件,每个软体物件系包括有一组系为该通用的特性组之一子集合且定义该软体物件的外形之特性,每个唯一的外形系对应至在该外形表之一条目。48.如申请专利范围第46项之物件施行器,其更包含一个转换表系利用对应至一第二外形之特性的参考指标来参照在第一外形中的特性。49.如申请专利范围第48项之物件施行器,其中该转换表系包括一对应表。50.如申请专利范围第48项之物件施行器,其中该转换表系包括一取得与设定方法之表。51.如申请专利范围第44项之物件施行器,其中该物件系包含参考标记至具有一个该物件的外形可转换成的外形。52.如申请专利范围第44项之物件施行器,其中的方法参加标记系被储存于一通用的方法表中。53.如申请专利范围第44项之物件施行器,其中的方法参考标记系被储存于对应至每个物件的记忆体结构之中,该储存于每个记忆体结构之中的方法参与标记系对应至具有一个该物件的外形可转换成的外形之方法上。54.一种计算机可读的介质,其系具有表示如申请专利范围第44项之物件施行器码。55.如申请专利范围第54项之计算机可读的介质,其中该介质系包括一种磁性物质。56.如申请专利范围第54项之计算机可读的介质,其中该介质系包括一种光学可读的介质。57.如申请专利范围第54项之计算机可读的介质,其中该介质系包括一种随机存取记忆体。58.如申请专利范围第54项之计算机可读的介质,其中该介质系包括一种唯读记忆体。59.如申请专利范围第58项之计算机可读的介质,其该唯读记忆体系为可程式化的。60.一种以计算机施行在一物件导向的程式设计环境中用来施行具有第一组特性之软体物件的方法,其系包含有:产生一用以存取该第一组特性的物件记忆体结构;将物件特性値储存在该记忆体结构之中;定义一方法系与任何的特殊物件无关,该方法系被定义来运作于一第二组特性之上;以及应用该方法至该物件若该第二组特性系相同于或是为该第一组特性的一上层集合时,该方法的可应用性系由包含于该物件之中的特性所决定且并非由该物件的继承之层次架构所决定。61.如申请专利范围第60项之方法,其更包含储存一外形表系储存相关于该物件的外形之资讯。62.如申请专利范围第61项之方法,其中产生一物件记忆体结构系包含储存一索引値系参照至在该对应于该物件的外形之外形表的一条目。63.如申请专利范围第60项之方法,其更包含决定介于该第一与第二组特性之间的对应。64.如申请专利范围第60项之方法,其更包含判定当该第二组特性系为该第一组特性的一子集合。65.一种以计算机施行用以组织及处理软体物件之方法,其提供一软体物件的多个观点并且从一特殊的观点在处理该物件中消除不明确之处,此方法包含:定义一第一软体物件以包含一组特性,该特性系被分成第一与第二的特性子群,每个子群系代表该物件之一特点;定义第二与第三软体物件,各个第二与第三软体物件系包含特性,一个包含于该各个第二与第三软体物件中的特性系对应至该第一软体物件;继承自该第二软体物件至少一个在该第一物件的第一子群中的特性;继承自该第三软体物件至少一个在该第一物件的第二子群中的特性;其中决定该第一软体物件的那个子群系继承特性自该第二或是第三软体物件是由在该第一、第二或是第三物件的宣告之中所指明的,而非由程式设计语言的环境所预先决定。66.如申请专利范围第65项之方法,其中:定义一第一软体物件系包含藉由子群名称来指明特性的子群;定义第二与第三软体物件系包含定义在该第二与第三软体物件中的特性之子群,每个子群系藉由一子群名称来指明;以及继承自该第二软体物件至少一个特性系包含继承一包括于该第一物件的一子群中的特性自包括于该第二物件的一子群中的特性,该第一物件的子群与该第二物件的子群系由相同的子群名称所指定。67.如申请专利范围第66项之方法,其中定义一第一软体物件系包含宣告在该第一软体物件的一子群中的那些特性将会继承自该第二或是第三软体物件的相对应之子群。68.如申请专利范围第65项之方法,其中定义一第一软体物件系包含指明该第二或是第三物件的子群之特性将会被继承给该第一物件的子群。69.如申请专利范围第65项之方法,其中定义该第一物件系包含定义一分类并且产生该第一物件为该分类的一个实例。70.如申请专利范围第69项之方法,其中该分类系从一父分类所导出并且其中该特性系继承自该父分类。图示简单说明:图一A、一B与一C显示三个习知技术的软体物件,其中图一C中的物件系自图一A与一B中的物件继承特性;图二A与二B为一架飞机与一艘般的图片系代表图一A与一B的物件;图二C与二D为产生自先前技术的多重继承的图一C之水上飞机物件的图片,图二C显示先从该船物件来继承,图二D显示先从该飞机物件来继承;图三系为显示一习知技术的多重继承之层次架构的图;图四系为显示在本发明之第一较佳实施例中一个新的物件之产生所需的步骤之流程图;图五系为显示本发明之一典型的物件,按钮(Button)的图;图六显示用作为一图形使用者界面的部份且由图五之物件所代表之一按钮;图七系为在本发明之较佳实施例中所用的一特性名称表之一实例;图八系为在本发明之某一实施例中所用的一外形表之一概念化的实例;图九系为本发明之另一物件,大按钮(BigButton)的一实例;图十系为本发明之另一物件,彩色按钮(ColorButton)的一实例;图十一显示在本发明之较佳实施例中所用的一般化的物件记忆体结构;图十二显示图十一中所示的物件记忆体结构之第一较佳实施例中所用的一特性値向量;图十三显示图八中概念地所示之外形表的一较佳施行例的一概要图;图十四显示在本发明之第二实施例中所用的一物件记忆体结构;图十五显示在本发明之第二实施例中所用的一外形表;图十六显示在本发明之第三实施例中所用的一物件记忆体结构;图十七显示在本发明之第三实施例中所用的一外形表之一较佳施行例的一概要表示图;图十八系为在本发明之一实施例中显示于产生行为所需的步骤之流程图;图十九系显示在本发明一实施例中之利用在送至方法的物件上之限制的一方法呼叫的步骤之流程图;图二十系为显示在本发明之第一实施例中用来存取特性値的步骤之流程图;图二一系为显示在本发明之第二实施例中用来存取特性値的步骤之流程图;图二二系为显示在本发明之第三实施例中用来存取特性値的步骤之流程图;图二三系为显示在本发明之下类似于图三中所示之物件的继承之图;图二四A、B系为本发明之选择性的继承与习知技术的语言系统之继承的概念性的比较;图二五系显示在利用图十二中所示之型式的物件记忆体结构之一实施例中特性是如何继承的。
地址 美国