1.3 Features Features are the data an object may store and operations that may be performed on an object. The term feature in Eiffel refers to the data and operations collectively. A CAR for instance, will 'have-a' engine. Instead it provides a capability to simulate the effects of enumerated types while still strongly holding on to its object-oriented nature. This capability is manifested in the unique keyword.
Unique attributes are essentially constants whose value is chosen by the compiler.
Any unique attributes in a class will be assigned numerical values such that each successive declaration is one greater than its predecessor and each entity is also positive. In Eiffel constants are always declared with an associated type. We will now show how to declare an entity as a constant. As with attributes, routines may be declared following the feature keyword. For example, the following class converts a Celsius temperature to Fahrenheit.