When we are talking about Interface, we are as well talking
about the separation between interface definition and
implementation. Therefore, an interface defines a contract
between the implementor and the user that physically prevents
the user from accessing any of the details of the
implementation. You can look an Interface as a set of methods.
This set of methods provides you services. You do not care about
the implementation of these methods so long as you can use the
services you need. COM interface refers to a predefined group of
related functions that a COM class implements, but does not
necessarily represent all the functions that the COM class
supports. One object-oriented programming (OOP) scholar says
that we should concentrate upon the outside view of an object,
and he calls this contract programming (B. Meyer, Object-
Oriented Software Construction, 1988). COM uses the concept of
contract programming. One of the rules in the COM world is that
all COM interfaces must derive, either directly or indir