Instructors' Guide

Introduction Terminology Expressions Control Objects Inheritance Technology Summary


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.