Implementing an interface in VB.NET is done by specification Implements. Interfaces can be implemented by classes […] and structures […]. A class or structure can implement one or more interfaces, separated by the operator , in VB.NET.
List of interfaces implemented by class/structure is given by their associated names at defining time […].
In below source code sequence, implementation of an interface in VB.NET is exemplified:
Module Module1 Interface IOperatii Event Calcul(ByVal x As Integer, ByVal y As Integer) Function OpDiferenta(ByVal a As Integer, ByVal b As Integer)_ As Integer Function OpProdus(ByVal a As Integer, ByVal b As Integer) As Long End Interface Class COperatiiBin Implements IOperatii Public Event CalculOp(ByVal x As Integer, ByVal y As Integer)_ Implements IOperatii.Calcul Public Function Dif(ByVal a As Integer, ByVal b As Integer)_ As Integer Implements IOperatii.OpDiferenta Return a - b End Function Public Function Prod(ByVal a As Integer, ByVal b As Integer)_ As Long Implements IOperatii.OpProdus Return a * b End Function End Class Sub Main() Dim x, y, w As Integer x = 10 y = 8 Dim z As Long Dim OCalcul As New COperatiiBin z = OCalcul.Prod(x, y) w = OCalcul.Dif(x, y) MsgBox("Substraction value is: " & w & " Multiplication value is: " & z) End Sub End Module
In the above example, the following issues are highlighted:
- Defining the interface IOperatii;
- Declaring the interface implementation by the class COperatiiBin through specification Implements IOperatii;
- Implementation of the event by CalculOp and the two functions through methods Diff and Prod; it must be noted that at declaring time the element implemented by the interface must be specified by specifications Implements IOperatii.Calcul, Implements IOperatii.OpDiferenta and Implements IOperatii.OpProdus;
- Event and the two methods exactly meet the prototypes defined in interface IOperatii;
- Class does not contain other elements additional defined of the interface implemented IOperatii.
The application contains the Main procedure, and has the type Console Application.