@MISC{Zhao02symmetryin, author = {Liping Zhao and James O. Coplien}, title = {Symmetry in Class and Type Hierarchy}, year = {2002} }
Bookmark
OpenURL
Abstract
The class concept is central in OO programming (OOP) to implement abstract data types and enforce encapsulation. Type hierarchy has been regarded as a useful technique for consistency during extension. Yet, the importance of class and type hierarchy extends beyond their technical merits. Specifically, a class classifies objects and a type hierarchy classifies classes. Classification is fundamental to design, and its place in program evolution and programming language structure can be elucidated through formal symmetry models. Symmetry is the interplay between an invariant and the possibility of change. This paper discusses the importance of classification in OOP and shows the connection between classification and symmetry in class and type hierarchies.