Share via


Schnittstellenänderungen für Visual Basic 6.0-Benutzer

Aktualisiert: November 2007

Eine Schnittstelle ist in Visual Basic als Typ definiert, der eine Liste mit öffentlichen Membern definiert. Ein Interface-Typ kann nicht instanziiert oder implementiert werden.

Schnittstelle und Klassen

Die Schnittstelle einer Klasse ist deren Liste öffentlicher Member. Mit der Interface-Anweisung in Visual Basic 2008 können Sie einen Typ deklarieren, der eine Liste öffentlicher Member definiert. Wenn eine Klasse die Implements-Anweisung enthält, werden die Member der Schnittstelle der Klasse hinzugefügt, indem jeder Member der Schnittstelle implementiert wird. Ganz anders ist dies bei der Implementierungsvererbung mit dem Inherits-Schlüsselwort. Bei der Implementierungsvererbung werden die Member von der Basisklasse geerbt und müssen nicht in der abgeleiteten Klasse implementiert werden.

In .NET Framework werden Schnittstellen häufig von Klassen verwendet, um in der Anwendung einen bestimmten Dienst zu unterstützen. In .NET Framework ist beispielsweise Folgendes vorgesehen: Wenn eine Klasse die System.IComparable-Schnittstelle implementiert, sortiert die Laufzeit Instanzen der Klasse, wenn sie in einer ArrayList enthalten sind.

Weitere Informationen zur Verwendung von Schnittstellen in Visual Basic 2008 finden Sie unter Schnittstellen in Visual Basic.

Visual Basic 6.0

In Visual Basic 6.0 kann jede Klasse als Schnittstelle fungieren. Jede Klasse kann mithilfe der Implements-Anweisung die Schnittstelle einer anderen Klasse implementieren, wie unten dargestellt.

' Contents of class BaseClass
Public Sub BaseMethod()
End Sub

' Contents of class DerivedClass
Implements BaseClass
Private Sub BaseClass_BaseMethod()
End Sub

Einzelne Member der Klasse müssen keinen Code enthalten, möglich ist dies allerdings.

Visual Basic 2008

In Visual Basic 2008 wird klar zwischen Klassen und Schnittstellen unterschieden. Klassen werden in einer Class-Anweisung deklariert, Schnittstellen in einer Interface-Anweisung. Eine Klasse kann nicht als Schnittstelle fungieren. Um als Schnittstelle zu fungieren, muss der Typ mithilfe von Interface deklariert werden. Member einer Schnittstelle werden nicht implementiert. Die Syntax lässt in einer Schnittstellendefinition keine Codezeilen wie End Sub zu. Member einer Schnittstelle werden in der Klasse implementiert, die eine Schnittstelle mithilfe der Implements-Anweisung deklariert:

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

Vorschläge zur Aktualisierung

Die Vererbung in Visual Basic 6.0 kann nur mithilfe der Implements-Anweisung und einer Basisklasse implementiert werden. In neueren Versionen von Visual Basic gibt es zwei Arten von Vererbung: Implementierungsvererbung und Schnittstellenvererbung. Welche Vererbungsart Sie auswählen müssen, hängt von der Anwendung ab. Dabei sind folgende Aspekte zu beachten:

  • Bei der Implementierungsvererbung mithilfe der Inherits-Anweisung können Sie neue Klassen erstellen, ohne mehr Code schreiben zu müssen. Sie fügen nur dann Code hinzu, wenn Sie das Verhalten der Basisklasse ändern möchten. Bei der Schnittstellenvererbung müssen Sie Code für jeden Basisklassenmember hinzufügen.

  • Schnittstellen können verwendet werden, wenn von mehreren Klassen geerbt werden soll. In Visual Basic 2008 wird nur die Vererbung aus einer einzigen Klasse unterstützt, eine Klasse kann jedoch mehrere Schnittstellen implementieren.

  • In .NET Framework werden mehrere Schnittstellen definiert, durch die häufig auftretende Programmierungsaufgaben vereinfacht werden. Beispiele hierfür sind IComparable, ISerializable und IFormattable.

  • Für viele .NET Framework-Schnittstellen stellt .NET Framework zusätzlich eine Klasse bereit, die die Schnittstelle implementiert. Ein Beispiel hierfür ist die Component-Klasse, die die IComponent-Schnittstelle implementiert. Bei der Vererbung von Component mithilfe der Inherits-Anweisung erbt eine Klasse alle Features der IComponent-Schnittstelle, ohne dass Sie Code schreiben müssen.

Siehe auch

Referenz

Interface-Anweisung (Visual Basic)

Class-Anweisung (Visual Basic)

Inherits-Anweisung