咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >Supporting inheritance using s... 收藏

Supporting inheritance using subclass assertions

作     者:Sun, W Ling, YB Yu, C 

作者机构:UNIV ILLINOISDEPT ELECT ENGN & COMP SCICHICAGOIL 60680 

出 版 物:《INFORMATION SYSTEMS》 (Inf. Syst.)

年 卷 期:1995年第20卷第8期

页      面:663-685页

核心收录:

学科分类:08[工学] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

基  金:National Science Foundation NSF-IR19111988a National Aeronautics and Space Administration, NASA, (NAGW-4080) National Aeronautics and Space Administration, NASA 

主  题:objects object-oriented design object-oriented programming subclass assertion inheritance 

摘      要:Inheritance, together with object and class, is the key concept of object oriented systems. Adopting the concept-oriented view (COV for short) of inheritance, current OO systems such as GemStone, Orion, C++, O-2, PostGres, Iris, and SmallTalk dominantly interpret inheritance by retaining all attributes and methods in a subclass from its superclass, and by supporting the specification of additional attributes and methods in the subclass. However, this monotonic extension property may result in a redundant subclass representation which in turn gives rise to update anomalies. Thus extra effort in practice used to prevent these problems from happening is to change an IS-A relationship in COV of hierarchy into sibling in the program-oriented view (POV for short) hierarchy. However, the dichotomy between the concept and implementation leads to a significant difference of the class hierarchy between the designing phase and implementation phase of OO systems, hence increases the complexity in designing OO systems. In this paper, rye show that, when the subclass attributes are linearly related to the superclass attributes (the attributes in the superclass can be linearly expressed by those in the subclass), linear subclass assertions/constraints can be elegantly used to resolve the problems such as the redundant subclass representation, and update anomalies. We have proved that (1) given a linear subclass assertion, a non-redundant subclass representation can be automatically decided, and the bilateral mappings between the class and the determined subclass can be automatically constructed, and (2) given a user-chosen subclass representation and the mapping from the chosen subclass to the superclass, the linear subclass assertion and inverse mapping can be automatically constructed, and (3) placing an object into the most specific class in an ISA class hierarchy can be automatically conducted. The proposed novel ideas have been prototyped on GemStone/Smalltalk on a SunSparc/U

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分