Briefly describe what an Interface is and how it can be used in an object-oriented program.

Briefly describe what an Interface is and how it can be used in an object-oriented program.  Provide example pseudocode showing how an IPurchaseOrder Interface might be constructed.