Objectives
This section gives an introduction to the Eiffel language.
It discusses the design principles underlying Eiffel,
which may be characterized as being focused
on static typing and support for the development
of reliable programs.
It gives an overview of the keywords related to
the constructs offered,
and discusses type expressions, value expressions
and control statements.
An example is given to illustrate the features offered.
We conclude by looking at the mechanisms of renaming
and redefining, which are needed to
avoid name clashes when using multiple inheritance.
Points to emphasize
- design principles -- correctness
- terminology -- keywords
- syntax -- type conformance, control
- objects -- counter example
- inheritance -- renaming, redefining
\nop{
- techniques -- exceptions
}
Comments
The assertion logic supported by Eiffel
is a simple boolean logic, similar to that which
may be used in conditionals.
An important feature of Eiffel,
not discussed in this introduction, is
the use of exceptions to deal with
errors and the violation of conditions.
Exceptions are triggered when, for example, a pre-condition
is not satisfied.
An object may resume the execution when the exception clause
includes a retry statement.