Implementarea interfetelor in VB.NET

Implementarea unei interfete in limbajul VB.NET se realizeaza prin cuvantul rezervat Implements. Interfetele pot fi implementate de catre clase de obiecte […] si structuri […]. O clasa de obiecte sau o structura pot implementa una sau mai multe interfete, separate prin operatorul , in VB.NET.
Lista de interfete implementate de clasa de obiecte/structura este data prin denumirile asociate acestora la definire […].

In secventa de cod sursa VB.NET de mai jos, este exemplificata implementarea unei interfete in VB.NET:

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("Diferenta este: " & w & " Produsul este: " & z)

    End Sub

End Module

In exemplul de mai sus, se observa urmatoarele:

  • definirea interfetei IOperatii;
  • declararea implementarii interfetei de catre clasa de obiecte COperatiiBin prin specificatia Implements IOperatii;
  • implementarea evenimentului prin CalculOp si a celor doua functii prin metodele Dif, respectiv Prod; se observa ca la declararea acestora trebuie precizat elementul implementat din interfata prin specificatiile Implements IOperatii.Calcul, Implements IOperatii.OpDiferenta si Implements IOperatii.OpProdus;
  • evenimentul si cele doua metode respecta intocmai prototipurile definite in interfata IOperatii;
  • clasa de obiecte nu contine alte elemente definite aditional interfetei implementate IOperatii.

Aplicatia contine procedura Main, fiind una de tipul Console Application.