|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
21.5.1. IComparableHet 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. boven
21.5.2. Meerdere Interfaces ImplementerenVisual Basic 2010 Broncode 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 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 Public Function MemberX( ByVal argument As Boolean) As String _ Implements Interface1. MemberX, _ Interface2.MemberY, _ Interface2.MemberZ MemberX = "MemberX" End Function End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
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 zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|