首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 187 毫秒
1.
本文将对象类型看做一种行为,而把子类型看做与这种行为相兼容的一种特化。基于这种想法,本文通过扩展有序代数提出一种类型与子类型之间继承关系的代数模型,根据运算是否完全兼容将子类型划分为完全子类型与不完全子类型,并且解决了由于类型继承导致运算重叠而引直起二义性问题。  相似文献   

2.
继承是面向对象程序设计方法中的重要特征之一。在分析了传统继承机制不足的基础上,将类比理论引入面向对象,提出了一种新的继承机制--柔性继承机制。该机制在面向对象程序设计中增加了相似类、相似属性和相似方法的类比应定义及类比分析和推导方法,同时支持子类关系和类比关系,从而可增加灵活而有效地对已有软件进行复用。最后,介绍了支持柔性继承机制的语言ND_Polya及其支撑系统的设计和实现。  相似文献   

3.
目的 多视点视频编码标准-MVC是国际标准组织针对3D视频制定的编码标准,支持实时编码和兼容已有H.264标准是MVC应用推广迫切需要解决的问题。方法 本文基于拓扑排序,提出一种二维预测结构到一维参考序列的映射变换机制,利用已有的H.264编码单元技术,实现了MVC-H.264双向实时转码。结果 实验表明该方法能够兼容现有的H.264编解码器,支持高清MVC实时编码,并通过3D视频直播实际应用验证了方法的有效性。结论 本文给出了MVC与H.264标准间进行预测参考结构映射和码流转换的机制,无需设计专用芯片就能同时兼容H.264和MVC标准。  相似文献   

4.
ND-Polya类比实现技术   总被引:2,自引:0,他引:2  
从认识论和方法论的角度来看,分类不是认识事物解决问题的唯一方法,类比同样十分重要.然而传统的继承只体现分类的方法.自行设计的面向对象语言ND-Polya通过引入新的继承机制——柔性继承来支持类比方法.使用柔性继承机制,程序员能以描述事物或问题间相似性的方式进行软件开发.文中简要介绍了ND-Polya的柔性继承设施,并在此基础上具体地讨论了该机制的类比实现技术.  相似文献   

5.
王川宝  祝明发 《计算机学报》1994,17(12):930-937
本文提出了一种评价2-DMesh性能的方法-消息流量法,并且利用这种方法对切换机制为Stor-and-Forward,路由算法分别为AR和DOR时间的2-DMesh性能进行了分析,最后给出了分析和模拟的比较结果。  相似文献   

6.
一种基于ICMP报文的IPv6隧道机制   总被引:2,自引:0,他引:2  
IPv6研究中,一个重要的问题是如何实现从IPv6的迁移。目前的自动隧道机制都是依赖IPv4-兼容的IPv6地址。本文提出了一种基于ICMP报文的迁移机制,能够对任意配置的IPv6/Ipv4,节点实现自动隧道配置。  相似文献   

7.
本文提出了一种评价2-DMesh性能的方法—消息流量法,并且利用这种方法对切换机制为Store-and-Forward、路由算法分别为AR和DOR时的2-DMesh性能进行了分析,最后给出了分析和模拟的比较结果.  相似文献   

8.
扩展面向对象编程(XOOP)的理论和方法   总被引:5,自引:1,他引:4  
孙斌 《计算机学报》2001,24(3):266-280
针对使用继续的传统对象系统在映射真实世界的对象关系时遇到的各种困难,提出一种普遍的软件工程方法,即扩展的面向对象方法(XOO),它通过支持双向派生、归纳、更一般的多态机制等技术,来补足继承机制的不足,并进一步增强对象方法在描述对象关系方面的能力。作者强调了虚归纳是一种普遍的软件工程方法,它使得归纳与继承的高效结合成为可能,可以作为重用已有类库代码和与继续类层次结合的有效方法。文中还描述了XOOP的一个较为完整的实现--编程语言C。  相似文献   

9.
文章针对新型工程数据库系统-对象-关系数据库的面向对象的特点,研究了复杂对象的继承机制,设计了对继承层次查询的方法,并在工程数据库ANGEL-Ⅱ中实现了该设计。  相似文献   

10.
李宣东  郑国梁 《软件学报》1995,6(1):187-193
本给出一种包含多种继承行为的,非常灵活的代码复用机制-广义继承,通过给出其操作语义和一个支持类间子类型关系确认的类机制,为其在面向对象程序设计语言中的实现奠定了基础。  相似文献   

11.
The object-oriented functional data language (O2FDL) is an interactive strongly typed database programming language that integrates the object-oriented and functional programming paradigms. It was designed for advanced applications that require a powerful and uniform database programming language supporting the software engineering principles of these tow paradigms. To this end, the O2 FDL supports inheritance and encapsulation of object-oriented languages, and an equational notation and strong typing of functional programming. Strong typing is extended with type restrictions to constrain the instantiations of type variables in function interfaces, while inheritance is augmented with a monotonic subtype rule for function redefinition. The O2FDL also supports novel features. For the core of the O2FDL, a denotational semantics based on an extended λ-calculus is provided. For selected system-defined functions, operational semantics are provided and it is demonstrated that a subset of the O2FDL is at least as expressive as the relational algebra  相似文献   

12.
13.
陆嘉  温冬婵  王鼎兴 《软件学报》2000,11(4):494-501
面向对象并发程序设计语言能够帮助程序员利用面向对象技术编写并发程序,从而获得面向对象技术给软件开发带来的种种好处.然而,由于继承异常现象的存在,影响了并发程序设计语言引入继承特性.Ada95语言是支持并发程序设计的面向对象语言之一,但并不支持保护对象的继承.Ada-I语言在Ada95语言的基础上进行扩充,从而支持保护对象的继承,并且避免了继承异常现象的出现.  相似文献   

14.
面向对象程序设计是一种实用的支持模块化设计和代码复用的程序设计方法。大多数面向对象语言均支持信息隐蔽的数据抽象和封装。然而继承性的存在却严重地削弱了封装带来的好外。本文讨论了信息隐蔽和继承性间的关系,并描述了一种支持封装的多路继承机制。  相似文献   

15.
A categorical semantics of multiple inheritance is presented, in which the inheritance relations between program entities are represented as commutative diagrams in a suitable category, and multiple inheritance is then modelled with colimits of such diagrams. It is shown that the informal semantics of multiple inheritance used in existing object-oriented programming languages conforms to, or is consistent with, this model.  相似文献   

16.
对象式逻辑程序设计语言LKO的说明性语义   总被引:2,自引:0,他引:2  
徐殿祥  关国梁 《计算机学报》1996,19(11):841-847
本文基于逻辑程序设计语言的良基模型语义,探讨了对象逻辑程序设计语言LKO的说明性语义,该语义由组合迭代的极小不动点定义,具有构造性和组合性,迷在LKO中进一步引入非单调继承和逻辑奠定了基础。  相似文献   

17.
Calico, a C-based object-oriented language supported by an integrated software development environment, is described. Calico features strict encapsulation, dynamic binding, fast garbage collection, and interoperability with C. It provides a simple, uniformly applied object model, a syntax easily mastered by C programmers, a new multiple inheritance model, simple method-call semantics with some novel extension and effective support for the team development process. Although Calico introduces some unique language features, its primary contribution is the productivity advantage that this feature integration provides for the Unix/C environment  相似文献   

18.
Semantic Web applications share a large portion of development effort with database-driven Web applications. Existing approaches for development of these database-driven applications cannot be directly applied to Semantic Web data due to differences in the underlying data model. We develop a mapping approach that embeds Semantic Web data into object-oriented languages and thereby enables reuse of existing Web application frameworks.We analyse the relation between the Semantic Web and the Web, and survey the typical data access patterns in Semantic Web applications. We discuss the mismatch between object-oriented programming languages and Semantic Web data, for example in the semantics of class membership, inheritance relations, and object conformance to schemas.We present ActiveRDF, an object-oriented API for managing RDF data that offers full manipulation and querying of RDF data, does not rely on a schema and fully conforms to RDF(S) semantics. ActiveRDF can be used with different RDF data stores: adapters have been implemented to generic SPARQL endpoints, Sesame, Jena, Redland and YARS and new adapters can be added easily. We demonstrate the usage of ActiveRDF and its integration with the popular Ruby on Rails framework which enables rapid development of Semantic Web applications.  相似文献   

19.
The formalisation of object-oriented languages is essential for describing the implementation details of specific programming languages or for developing program verification techniques. However there has been relatively little formalisation work aimed at abstractly describing the fundamental concepts of object-oriented programming, separate from specific language considerations or suitability for a particular verification style. In this paper we address this issue by formalising a language that includes the core object-oriented programming language concepts of field tests and updates, methods, constructors, subclassing, multithreading, and synchronisation, built on top of standard sequential programming constructs. The abstract syntax is relatively close to the core of typical object-oriented programming languages such as Java. A novel aspect of the syntax is that objects and classes are encapsulated within a single syntactic term, including their fields and methods. Furthermore, class terms are structured according to the class hierarchy, and objects appear as subterms of their class (and method instances as subterms of the relevant object). This helps to narrow the gap between how a programmer thinks about their code and the underlying mathematical objects in the semantics. The semantics is defined operationally, so that all actions a program may take, such as testing or setting local variables and fields, or invoking methods on other objects, appear on the labels of the transitions. A process-algebraic style of interprocess communication is used for object and class interactions. A benefit of this label-based approach to the semantics is that a separation of concerns can be made when defining the rules of the different constructs, and the rules tend to be more concise. The basic rules for individual commands may be composed into more powerful rules that operate at the level of classes and objects. The traces generated by the operational semantics are used as the basis for establishing equivalence between classes.  相似文献   

20.
Backward compatibility is the property that an old version of a library can safely be replaced by a new version without breaking existing clients. Formal reasoning about backward compatibility requires an adequate semantic model to compare the behavior of two library implementations. In the object-oriented setting with inheritance and callbacks, such a model must account for the complex interface between library implementations and clients.In this paper, we develop a fully abstract trace-based semantics for class libraries in object-oriented languages, in particular for Java-like sealed packages. Our approach enhances a standard operational semantics such that the change of control between the library and the client context is made explicit in terms of interaction labels. By using traces over these labels, we abstract from the data representation in the heap, support class hiding, and provide fully abstract package denotations. Soundness and completeness of the trace semantics is proven using specialized simulation relations on the enhanced operational semantics. The simulation relations also provide a proof method for reasoning about backward compatibility.  相似文献   

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

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