9. Polymorphism:
This chapter discusses inheritance from a
declarative perspective,
and gives a precise characterization of
the subtype relation.
It further discusses the various flavors
of polymorphism and presents a type theoretical
treatment of genericity and overloading.
Also, type calculi that capture
data hiding and self-reference are given.
These insights are related to the realization of polymorphism
in Eiffel, C++ and Java.