Instructors' Guide
Introduction
Terminology
Expressions
Control
Objects
Inheritance
Technology
Summary
Inheritance
DLP supports static inheritance, by code sharing,
as do Smalltalk, Eiffel, C++ and Java.
For a discussion of dynamic inheritance, by delegation,
see section [prototypes].
As an example of inheritance in DLP,
look at the refinement of the travel object
into a veritable agency.
See slide [dlp-inheritance].
An agency offers the user, in addition to the
functionality offered by travel,
the opportunity to book for a particular
destination and be informed of its price.
Inheritance in DLP conforms to the subsumption
relation for logical theories,
in that it extends the functionality of a given object
in a strict manner.
DLP allows for multiple inheritance and even checks
for cycles to protect the user from repetitions
or cycles in the inheritance chain.