In some OOP languages,
the distinction between interface and implementation is manifest on two
distinct levels:
-
Within a class, separation between interface and implementation part
Example, in C++, public and private fields.
-
Interface descriptions and implementation bodies appearing in separate
files (or separate area of same file).
Example, in C++, *.h files and *.cpp files.