首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 46 毫秒
1.
1 引言面向对象的方法中,对象是作为现实世界中事物的自然映射。为了表达事物的分类关系,在面向对象领域中引入类型的概念,同一类对象具有相同的类型,不同类对象属于不同的类型。另一方面,在面向对象的软件开发的早期阶段,我们可能只知道某个数据抽象的部分操作和行为,随着软件开发过程的进展,对原有的数据抽象又有了新的要求,必须增加新的操作,从而产生新的数据抽象。新的数据抽象可看成是由老的数据抽象精化而来,它们分别由两种类型来描述,这两种类型之间存在子类型关系,而且这种精化过程可以重复多次,从而形成一个层次的子类型结构,它反映了程序各部分的不同要求。以层次方式来设计类型可以控制设计错误的影响范围,把握设计过程以及对实现给予指导。另外,满足子类型关系的继承还可以实现软件的设计重用,往往重用设计比重用代码更有利于软件开发。所以,为了进一步表达事物分类关系的层次性,可以用对象  相似文献   

2.
王志坚  朱跃龙 《计算机学报》1997,20(12):1088-1094
本文扼要介绍继承的一个数学模型,在此基础上,通过对各种继承的形式刻划,研究了各种继承对子类型机制的影响,结果表明,单继承和图式继承支持强类型,线性继承不支持强类型。  相似文献   

3.
Object-Z是形式规格说明语言Z的面向对象扩充,具有面向对象特点,适合描述大型面向对象软件规格说明.行为子类型继承是一种子类型继承,子类型对象拥有其超类对象的行为与属性,如果行为子类型对象替代其超类型对象时,运行时不会出错,经过验证过的形式规格说明不必再验证.本文对Object-Z定义了行为子类型继承,尤其我们系统地提出一个实现行为子类型继承和对规格说明产生相关证明责任的方法,其中这些证明责任可以判定形式规格说明是否按照其行为子类型方法进行开发的.最后,充分利用定理证明器Z/EVES来分析与验证所产生的证明责任.  相似文献   

4.
一、前言面向对象程序设计中的继承,作为一种模块扩充机制和一种类型精化机制,一方面能通过增加或修改已有类的特征去定义新类,为实现软件的重用提供了一种途径;另一方面能支持通过例化已有的类型去定义新类型,提供了由分析设计向实现的平滑转换。因此,继承相应地也应分为实现继承和行为继承两种方式。实现继承主要是为了代码的重用和共享;行为继承考虑的是由指引的多态导致了用子类对象替换父类对象的可能性,为了保证这种替换的正确性而要求子父类型间应满足的关系。在构造  相似文献   

5.
王云峰  庞军  查鸣  杨朝晖  郑国梁 《软件学报》2000,11(8):1041-1046
COOZ(complete object-oriented Z)的优势在于精确描述大型程序的规约.COOZ本身的结构 不支持精化演算,这限制了COOZ的应用能力,使COOZ难以作为完整的方法应用于软件的开发. 将精化演算引入COOZ,弥补了COOZ在设计和实现阶段的不足,同时也消除了规约与实现之间在 结构和表示方法上的完全分离,使程序开发在一个完整的框架下平滑进行.该文提出了基于CO OZ和精化演算的软件开发模型,通过实例讨论了数据精化和操作精化问题.在精化演算实现技 术方面构造了一种数据精化算子,提出一  相似文献   

6.
三、运行时类型识别(RTTI) RTTI(运行时类型识别)允许“用指向基类的指针或引用来操纵对象”的程序能够获取到“这些指针或引用所指对象”的实际类型(引自C primer)。运行时类型鉴定(RTTI)的概念初看非常简单——手上只有基础类型的一个指针时,利用它判断一个对象的正确类型。RTTI特性是面向对象特性中加入较晚的特性之一,但却是一个非常重要的特性。RTTI是面向对象程序设计中一种重要的技术,面向对象语言很多其他特性也是以它为基础的,例如异常机制的实现。同时它也为“多态性”提供了特殊的支持。  相似文献   

7.
一、前言 在上两篇文章中(《面向对象编程语言关键特性的剖析(一)》、《面向对象编程语言关键特性的剖析(二)》),我从对象模型的角度向读者分析了面向对象语言几个关键特性的底层实现机制。这篇文章我将继续对“对象语言”中的继承、运行时类型识别和内联函数等特性进行剖析。  相似文献   

8.
本文将对象类型看做一种行为,而把子类型看做与这种行为相兼容的一种特化。基于这种想法,本文通过扩展有序代数提出一种类型与子类型之间继承关系的代数模型,根据运算是否完全兼容将子类型划分为完全子类型与不完全子类型,并且解决了由于类型继承导致运算重叠而引直起二义性问题。  相似文献   

9.
何自强 《软件学报》1999,10(4):445-448
通过在子类型和超类型之间引进类型转换函数,推广了有序类别代数的定义,按照这一定义,一个类型可以不一定是它的超类型的子集这使得记录模式成为有序类别代数,为了描述类型之间的单继承关系,引进了森林类别型构的概念,给出了等式的新意义,并证明了等式理论有初始模型。  相似文献   

10.
面向对象类型理论的比较研究   总被引:3,自引:0,他引:3  
人们已提出各种支持面向对象程序设计的类型理论。但每种类型理论的侧重点不足相同,它们均能解决面向对象程序设计的某些方面的问题。本文从对象、类、类型和继承角度,着重分析讨论抽象数据类型、记录演算和对象演算,为进一步研究关于面向对象程序设计的类型理论提供基础。  相似文献   

11.
结构化方法、面向对象方法和形式方法的比较与结合   总被引:3,自引:0,他引:3  
结构化方法、面向对象方法和形式方法是三种不同的软件开发方法。本文对这三种开发方法进行了对照比较,讨论了它们的互相结合,并提出了将其结合在一起的集成方法的设想。  相似文献   

12.
本文介绍了一种基于形式化规格说明语言COOZ的面向对象设计方法并给出实例。该方法用COOZ描述类的设计规格说明,实现了从形式化需求描述到形式化设计的平滑过渡。文中重点讨论了与设计方法有关的一些面向对象概念:对象类型和类的分开、子类型和继承的分开、灵活的消息传递和参数转换机制、主动对象和被动对象、根类的定义等。  相似文献   

13.
This paper establishes a language-independent framework for class-based inheritance using a generic concept of refinement. The framework is then realised in the process algebra CSP. Class membership is expressed in terms of conformance to some relabelling of a distinguished process (the class template). The approach of the paper facilitates rigorous examination of informal concepts in object-oriented design, and suggests the possibility of introducing an appealing methodology into CSP.An earlier version of this paper was presented at a Workshop on the Theory and Practice of Refinement, Open University, 10–12 January 1989.  相似文献   

14.
HOOD是由欧洲ESA公司开发的一种面向对象软件结构设计方法,它使用图形,结构化英语和Ada伪码来描述系统的设计规约,本文首先概述了HOOD方法的基本概念和对它进行的改进,然后提出了一种集成HOOD和形式化技术的方法,借助该方法可以获得更为严格的软件设计规约,最后简要介绍了其机器支持系统。  相似文献   

15.
梅宏  孙永强 《软件学报》1995,6(5):280-289
在面向对象程序设计中,继承性是导致语义复杂性的因素之一.本文讨论了作为代码共享机制的继承和表示功能特殊化的子类型的共存及相互关系.采用了将行为规范视为类型的概念,即类型为命名操作的集合.并在此基础上给出了类型、类及子类型关系的形式描述.  相似文献   

16.
在总结和评价现有Z语言面向对象扩充的基础上,设计了一种新的扩充语言GOOZ,该语言克服了Z++,Object_Z等语言的一些缺点,其书写规约具有简洁,明确,接口定义清晰,模块无整,结构良好,易于验证的特点。  相似文献   

17.
受粗糙集中多粒度标记信息系统研究的启发,对于多粒度标记的形式背景,不同粒度标记下形成的概念格之间存在着一些联系,这在形式概念分析理论中属于热点研究问题.为了研究不同粒度标记下形成的概念格之间的关系,首先讨论了不同粒度标记下的生成的极值算子之间的关系;其次通过极值算子之间的关系,对不同粒度标记下形成的面向对象的概念格之间...  相似文献   

18.
    
While object‐oriented programming offers great solutions for today's software developers, this success has created difficult problems in class documentation and testing. In Java, two tools provide assistance: Javadoc allows class interface documentation to be embedded as code comments and JUnit supports unit testing by providing assert constructs and a test framework. This paper describes JUnitDoc, an integration of Javadoc and JUnit, which provides better support for class documentation and testing. With JUnitDoc, test cases are embedded in Javadoc comments and used as both examples for documentation and test cases for quality assurance. JUnitDoc extracts the test cases for use in HTML files serving as class documentation and in JUnit drivers for class testing. To address the difficult problem of testing inheritance hierarchies, JUnitDoc provides a novel solution in the form of a parallel test hierarchy. A small controlled experiment compares the readability of JUnitDoc documentation to formal documentation written in Object‐Z. Copyright © 2005 John Wiley & Sons, Ltd.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号