Good design standards (cont'd)
The member functions in the interface restrict access to the data members.
The interface is generic in that it is not bound to any particular implementation.
The class author should be able to change the implementation without affecting the using programs so long as the interface doesn't change.