CHAPTER 8 WORKING WITH INTERFACES
Summary
An interface can be defined as a named collection of abstract members. Because an interface does not
provide any implementation details, it is common to regard an interface as a behavior that may be
supported by a given type. When two or more classes implement the same interface, you can treat each
type the same way (interface-based polymorphism) even if the types are defined within unique class
hierarchies.
C# provides the interface keyword to allow you to define a new interface. As you have seen, a type
can support as many interfaces as necessary using a comma-delimited list. Furthermore, it is
permissible to build interfaces that derive from multiple base interfaces.
In addition to building your custom interfaces, the .NET libraries define a number of standard (i.e.,
framework-supplied) interfaces. As you have seen, you are free to build custom types that implement
these predefined interfaces to gain a number of desirable traits such as cloning, sorting, and
enumerating.
318