Affiliation:
1. Università degli Studi de L'Aquila
Abstract
The notion of class (or object pattern) as defined in most object-oriented languages is formalized using known techniques from algebraic specifications. Inheritance can be viewed as a relation betweeen classes, which suggests how classes can be arranged in hierarchies. The hierarchies contain two kinds of information: on the one hand, they indicate how programs are structured and how code is shared among classes; on the other hand, they give information about compatible assignment rules, which are based on subtyping. In order to distinguish between code sharing, which is related to implementational aspects, and functional specialization, which is connected to the external behavior of objects, we introduce an algebraic specification-based formalism, by which one can specify the behavior of a class and state when a class inherits another one. It is shown that reusing inheritance can be reduced to specialization inheritance with respect to a virtual class. The class model and the two distinct aspects of inheritance allow the definition of
clean
interconnection mechanisms between classes leading to new classes which inherit from old classes their correctness and their semantics.
Publisher
Association for Computing Machinery (ACM)
Reference32 articles.
1. Lecture Notes in Computer Science;~ALENCAR A. J.,1991
2. Designing an object-oriented programming language with behavioral ~subtypmg. In Proceedzngs of REX/FOOL. Lecture Notes in Computer Science, vol. 489. ~Sprmger-Verlag;~AMERICA P.;Berlin,1990
3. A parallel object-oriented language with inheritance and subtyping
4. Algebraic specification of modules and their basic interconnections
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献