Interfaces Overview 

Interfaces, like classes, define a set of properties, methods, and events. But unlike classes, interfaces do not provide implementation. They are implemented by classes, and defined as separate entities from classes.

An interface represents a contract, in that a class that implements an interface must implement every aspect of that interface exactly as it is defined.

With interfaces, you can define features as small groups of closely related members. You can develop enhanced implementations for your interfaces without jeopardizing existing code, thus minimizing compatibility problems. You can also add new features at any time by developing additional interfaces and implementations.

Although interface implementations can evolve, interfaces themselves cannot be changed once published. Changes to a published interface may break existing code. If you think of an interface as a contract, it is clear that both sides of the contract have a role to play. The publisher of an interface agrees never to change that interface, and the implementer agrees to implement the interface exactly as it was designed.

In previous versions of Visual Basic, you could consume interfaces but not create them directly. Now you can define true interfaces using the Interface statement, and you can implement interfaces with an improved version of the Implements keyword.

See Also

Tasks

How to: Create and Implement Interfaces
Walkthrough: Creating and Implementing Interfaces

Reference

Interface Statement (Visual Basic)

Concepts

Interface Definition
Implements Keyword and Implements Statement
Interface Implementation Examples in Visual Basic
When to Use Interfaces

Other Resources

Inheritance in Visual Basic