Symmetry in class and type hierarchy

  • Authors:
  • Liping Zhao;James O. Coplien

  • Affiliations:
  • University of Manchester Institute of Science and Technology, Sackville Street, Manchester M60 1QD, UK;University of Manchester Institute of Science and Technology, Sackville Street, Manchester M60 1QD, UK

  • Venue:
  • CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

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.