funny, I thought Encapsulation, Polymorphism, Inheritence and Abstraction were the essence of OO (programming or otherwise).
I know of no other language that uses interfaces like Java does. C++ uses multiple inheritance (errk) which is not nearly as safe.
Interfaces are a way of avoiding the possibly dangerous multiple inheritance ideas in C++.
They provide a contract, telling any class that asks that the object which implements the interface must have all of the methods the interface does, what it does IN those methods is irrelevent, as long as it takes in and passes out the required objects (or void). Which is just what idarke said. -------------------------------------------
There are no onions, only magic
-------------------------------------------