首页 | 本学科首页   官方微博 | 高级检索  
     


Class Refinement as Semantics of Correct Object Substitutability
Authors:Ralph-Johan Back  Anna Mikhajlova  Joakim von Wright
Affiliation:Turku Centre for Computer Science, ?bo Akademi University, Finland, FI
Abstract:Subtype polymorphism, based on syntactic conformance of objects' methods and used for substituting subtype objects for supertype objects, is a characteristic feature of the object-oriented programming style. While certainly very useful, typechecking of syntactic conformance of subtype objects to supertype objects is insufficient to guarantee correctness of object substitutability. In addition, the behaviour of subtype objects must be constrained to achieve correctness. In class-based systems classes specify the behaviour of the objects they instantiate. In this paper we define the class refinement relation which captures the semantic constraints that must be imposed on classes to guarantee correctness of substitutability in all clients of the objects these classes instantiate. Clients of class instances are modelled as programs making an iterative choice over invocation of class methods, and we formally prove that when a class C′ refines a class C, substituting instances of C′ for instances of C is refinement for the clients. Received May 1999 / Accepted in revised form March 2000
Keywords:: Class refinement  Code inheritance  Behavioural compatibility  Object substitutability  Subclassing  Subtyping            Semantics of object-oriented constructs  Correctness  Implicit and explicit invariants  New methods
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

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