The properties of abstract data types are described in a class. The public interface details the ways an object can be manipulated through operations. There may be more than one public interface for a particular Eiffel class. The interface depends on the type of the object requesting a particular operation. See also entry under 5.
Objects have an immutable identity that exists for the lifetime of the object.
The identity of all objects in an Eiffel program are unique. Objects of the same type share the same implementation. It is also possible for objects to share particular state entities among all instance of their type. See also entry under 9.4 Containment. 2.1 Operations Eiffel operations are based on the classical object model.