>My reasoning for using an interface is that he has two classes that don't share a common ancestor, but on which he wants to implement a common method. By implementing an interface he can treat both classes as the same type.
Actually, one client class, which is inheriting from a base class, has a need to benefit of an overridable similar type method from an object which is created in that class. So, basically, when I create an object, I have a need for the base class to call a method in the client class. This is usually accomplished by defining an Overloadable method in the base class. But, here, as you know, the client class is not inheriting from that class.