Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

Microsoft Visual Studio 2012Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

21.5. Meerdere Interface samen Implementeren

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

21.5.1. IComparable

Het mogelijk in een klasse meerdere interfaces te implementeren ((1) en (2)).  Dit in tegenstelling tot het overerven van klassen, waar enkele "single inheritance" (het overerven van één klasse) is toegestaan.

Men gebruikt hier wel eens deze techniek (implementeren van meerdere interfaces) om "multiple inheritance" na te bootsen.
Het gaat dan om een soort van "multiple contextual inheritance", waarbij de context kan worden herbruikt waarin die implementerende types bruikbaar zijn.

21.5.2. Meerdere Interfaces Implementeren

Visual Basic 2012 Broncode - Codevoorbeeld 475
Namespace Example3
    Interface Interface1
        Function MemberX(ByVal argument As Boolean) As String
    End Interface
    Interface Interface2
        Function MemberY(ByVal argument As Boolean) As String
        Function MemberZ(ByVal argument As Boolean) As String
    End Interface
    Class Class1 : Implements Interface1, Interface2                       ' (1)
        Public Function MemberX(ByVal argument As Boolean) As String _
                                                  Implements Interface1.MemberX
            MemberX = "MemberX"
        End Function
        Public Function MemberY(ByVal argument As Boolean) As String _
                                                  Implements Interface2.MemberY
            MemberY = "MemberY"
        End Function
        Public Function MemberZ(ByVal argument As Boolean) As String _
                                                  Implements Interface2.MemberZ
            MemberZ = "MemberZ"
        End Function
    End Class
    Class Class2 : Implements Interface1, Interface2                       ' (2)
        Public Function MemberX(ByVal argument As Boolean) As String _
                                             Implements Interface1.MemberX, _
                                                        Interface2.MemberY, _
                                                        Interface2.MemberZ ' (3)
            MemberX = "MemberX"
        End Function
    End Class
End Namespace
Om meerdere interfacetypes in een klasse te implementeren vermeldt men in de Implements clausule van de klasse alle interface types die worden geïmplementeerd.  De verschillende identifiers van de interfaces kan men afscheiden via kommas ((1) en (2)).

Het is mogelijk verschillende members uit (verschillende) interfacetypes te implementeren in één implementerende member van een klasse (3).  Natuurlijk moeten de signatuur van die verschillende members uit de interfacetypes dan wel gelijk zijn.

Er kan maximaal één implementatie worden voorzien voor een member uit een interfacetype dat wordt geïmplementeerd.

Door meerder interfaces in een klasse te implementeren, is het de bedoeling objecten van die klasse in de verschillende contexten te gebruiken waarin expressies van de geïmplementeerde interfacetypes kunnen worden gebruikt.
Verderop zullen we concrete context voorbeelden zien van types die meerdere interfaces implementeren.

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.