Interfaces
An interface is similar to a class, but with the following major differences:
An interface provides a specification rather than an implementation for its members. This is similar to a pure abstract class, which consists only of abstract members.
A class and struct can implement multiple interfaces, while a class can inherit only from a single class.
A struct can implement an interface, but a struct cannot inherit from a class.
Polymorphism is described as the ability to perform the same operations on many types, as long as each type shares a common subset of characteristics. The purpose of an interface is precisely for defining such a set of characteristics.
An interface is comprised of a set of the following members:
Method
Property
Indexer
Event
These members are always implicitly public and implicitly abstract (and therefore virtual and nonstatic).
Defining an Interface
An interface declaration is like a class declaration, but it provides no implementation for its members since all its members are implicitly abstract. These members are intended to be implemented by a class or struct that implements the interface. Here is a very simple interface that defines a single method:
public interface IDelete { void Delete( ); }
Implementing an Interface
Classes
or
structs that implement an interface may be said to
“fulfill the contract of the
interface.” In this example, our
IDelete
interface can be implemented by GUI
controls that support the concept of deleting, such as a
TextBox ...
Get C# Language Pocket Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.