Modifications de l'interface pour les utilisateurs de Visual Basic 6.0
Mise à jour : novembre 2007
Une interface, telle que configurée dans Visual Basic, est un type qui définit une liste de membres publics. Un type Interface ne peut être ni instancié, ni implémenté.
Interface et classes
L'interface d'une classe représente sa liste de membres publics. L'instruction Interface dans Visual Basic 2008 vous permet de déclarer un type définissant une liste de membres publics. Lorsqu'une classe comporte l'instruction Implements, elle ajoute les membres de l'interface en les implémentant un à un, par opposition à l'héritage d'implémentation à l'aide du mot clé Inherits. Pour l'héritage de l'implémentation, les membres sont hérités de la classe de base et n'ont pas à être implémentés dans la classe dérivée.
Dans .NET Framework, les interfaces sont souvent utilisées par les classes pour fournir l'assistance nécessaire à certains services de l'application. À titre d'exemple, .NET Framework prévoit qu'en cas d'implémentation de l'interface System.IComparable par une classe, le runtime triera les instances de la classe si elles sont contenues dans une ArrayList.
Pour plus d'informations sur l'utilisation d'interfaces dans Visual Basic 2008, see Interfaces en Visual Basic.
Visual Basic 6.0
Dans Visual Basic 6.0, toute classe peut agir comme une interface. Toute classe peut implémenter l'interface d'une autre classe à l'aide de l'instruction Implements, instruction, comme indiqué ci-dessous.
' Contents of class BaseClass
Public Sub BaseMethod()
End Sub
' Contents of class DerivedClass
Implements BaseClass
Private Sub BaseClass_BaseMethod()
End Sub
Si la présence de code dans les membres individuels de la classe n'est pas requise, elle est possible.
Visual Basic 2008
Visual Basic 2008 fait une nette différence entre les classes et les interfaces. La classe est déclarée dans une instruction Class ; l'interface est déclarée dans une instruction Interface. Une classe ne peut pas agir comme une interface. Pour agir comme une interface, le type doit être déclaré à l'aide de Interface. Les membres d'une interface ne sont pas implémentés. En fait, la syntaxe n'autorise pas des lignes de code telles que End Sub dans une définition d'interface. Les membres d'une interface sont implémentés dans la classe qui déclare une interface à l'aide de l'instruction Implements :
Interface Printable
Sub Print()
Property Mode() As Integer
End Interface
Public Class Tree
Implements Printable
Private modeValue As Integer
Public Property Mode() As Integer Implements Printable.Mode
Get
Return modeValue
End Get
Set(ByVal Value As Integer)
modeValue = Value
End Set
End Property
Public Sub Print() Implements Printable.Print
' Add code to print a tree.
End Sub
End Class
Suggestions de mise à niveau
La seule solution pour implémenter l'héritage dans Visual Basic 6.0 consiste à utiliser l'instruction Implements et une classe de base. Dans les versions plus récentes de Visual Basic, il existe deux types d'héritages : l'héritage d'implémentation et l'héritage d'interface. Le type que vous devez sélectionner dépend de votre application. Les points à prendre en compte sont les suivants :
À l'aide de l'instruction Inherits, instruction, l'héritage d'implémentation vous permet de créer de nouvelles classes sans écrire davantage de code. Vous n'ajoutez du code que lorsque vous souhaitez modifier le comportement de la classe de base. Pour l'héritage de l'interface, vous devez ajouter du code pour chaque membre de la classe de base.
Les interfaces peuvent être utilisées lorsque vous souhaitez hériter de plusieurs classes. Visual Basic 2008 prend en charge l'héritage d'une seule classe, mais une classe peut implémenter plusieurs interfaces.
Le .NET Framework définit plusieurs interfaces qui simplifient des tâches de programmation courantes. IComparable, ISerializable et IFormattable en sont des exemples.
Pour de nombreuses interfaces .NET Framework, .NET Framework fournit également une classe implémentant l'interface. La classe Component qui implémente l'interface IComponent en est un exemple. En héritant de Component à l'aide de l'instruction Inherits, instruction, une classe bénéficie de toutes les fonctionnalités de l'interface IComponent sans qu'il soit nécessaire d'écrire du code.
Voir aussi
Référence
Interface, instruction (Visual Basic)