The notion of class (or object pattern) as defined in most object-oriented languages is forrnahzed using known techniques from algebraic specifications, Inheritance can be viewed as a relation between classes, which suggests how classes can be arranged in hierarchies. The hierarchies contain two kinds of reformation: 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 compati- ble assignment rules, which are based on subtyping. In order to distinguish between code sharing, which is related to lmplementatlonal aspects, and functional speclalizatlon, 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 defimtion of clean interconnection mechanisms between classes leading to new classes which mherlt from old classes them correctness and their semantics.
|Titolo:||An Algebraic Theory of Class Specifications|
|Data di pubblicazione:||1994|
|Appare nelle tipologie:||1.1 Articolo in rivista|