Instructors' Guide

Introduction Terminology Expressions Control Objects Inheritance Technology Summary


The design of Eiffel also reflects a concern with the software engineering issues involved in the development and maintenance of class libraries. The language is built around a number of keywords, which accounts for an easy to read, albeit somewhat verbose, layout of programs.

The language Eiffel -- keywords

slide: Eiffel -- terminology

The keyword class precedes a class definition, which, according to  [Meyer88], may be considered as a model for a collection of objects. The keyword feature precedes the attributes, functions and procedures defined by a class. The keyword export precedes the list of visible features, in other words the interface declaration of the class. The keyword inherit precedes the list of inherited classes, specifying class inclusion and the subtyping relationships. The keywords rename and redefine are used to change inherited features. The keyword deferred may be used to indicate that a feature will be implemented (in the future) in an inherited class, and the keyword obsolete may be used to indicate that a feature will not be supported in a future release. Finally, the keywords require, ensure and invariant indicate assertions that specify respectively the pre- and post-conditions for a (method) feature and the class invariant.