Object-oriented inheritance has been in widespread use for a decade,
and it is now realised that although inheritance
is a powerful modelling tool with many associated advantages,
its benefits are not automatically conferred on systems that simply use it.
This book introduces a model of inheritance based around
five fundamental inheritance relationships.
Each relationship has a clear conceptual basis,
representing a fundamental, specialised use of inheritance.
The resulting model replaces a confused notion of inheritance
with five distinct conceptual relationships
supporting more precise modelling of systems
and capturing the semantic intent of each use of inheritance within a system.