Implements 문Implements Statement

인터페이스가 표시 되는 클래스 또는 구조체 정의에 구현 해야 하는 인터페이스 또는 인터페이스 멤버를 하나 이상 지정 합니다.Specifies one or more interfaces, or interface members, that must be implemented in the class or structure definition in which it appears.

SyntaxSyntax

Implements interfacename [, ...]  
' -or-  
Implements interfacename.interfacemember [, ...]  

부분Parts

interfacename
필수 사항입니다.Required. 클래스 또는 구조체의 해당 멤버에 의해 구현 되는 속성, 프로시저 및 이벤트를 포함 하는 인터페이스입니다.An interface whose properties, procedures, and events are to be implemented by corresponding members in the class or structure.

interfacemember
필수 사항입니다.Required. 구현 되는 인터페이스의 멤버입니다.The member of an interface that is being implemented.

설명Remarks

인터페이스는 인터페이스에서 캡슐화 하는 멤버 (속성, 프로시저 및 이벤트)를 나타내는 프로토타입의 컬렉션입니다.An interface is a collection of prototypes representing the members (properties, procedures, and events) the interface encapsulates. 인터페이스에는 멤버에 대 한 선언만 포함 됩니다. 클래스와 구조체는 이러한 멤버를 구현 합니다.Interfaces contain only the declarations for members; classes and structures implement these members. 자세한 내용은 인터페이스를 참조하세요.For more information, see Interfaces.

Implements문은 또는 문 바로 뒤에와 야 합니다 Class Structure .The Implements statement must immediately follow the Class or Structure statement.

인터페이스를 구현 하는 경우 인터페이스에 선언 된 모든 멤버를 구현 해야 합니다.When you implement an interface, you must implement all the members declared in the interface. 멤버를 생략 하면 구문 오류로 간주 됩니다.Omitting any member is considered to be a syntax error. 개별 멤버를 구현 하려면 Implements 클래스 또는 구조체에서 멤버를 선언할 때 Implements 키워드 (문과 분리 됨)를 지정 합니다.To implement an individual member, you specify the Implements keyword (which is separate from the Implements statement) when you declare the member in the class or structure. 자세한 내용은 인터페이스를 참조하세요.For more information, see Interfaces.

클래스는 속성 및 프로시저의 전용 구현을 사용할 수 있지만 이러한 멤버는 구현 클래스의 인스턴스를 인터페이스 형식으로 선언 된 변수로 캐스팅 하 여 액세스할 수 있습니다.Classes can use Private implementations of properties and procedures, but these members are accessible only by casting an instance of the implementing class into a variable declared to be of the type of the interface.

예제Example

다음 예제에서는 문을 사용 하 여 인터페이스의 멤버를 구현 하는 방법을 보여 줍니다 Implements .The following example shows how to use the Implements statement to implement members of an interface. ICustomerInfo이벤트, 속성 및 프로시저를 사용 하 여 라는 인터페이스를 정의 합니다.It defines an interface named ICustomerInfo with an event, a property, and a procedure. 클래스는 customerInfo 인터페이스에 정의 된 모든 멤버를 구현 합니다.The class customerInfo implements all the members defined in the interface.

Public Interface ICustomerInfo
    Event UpdateComplete()
    Property CustomerName() As String
    Sub UpdateCustomerStatus()
End Interface

Public Class customerInfo
    Implements ICustomerInfo
    ' Storage for the property value.
    Private customerNameValue As String
    Public Event UpdateComplete() Implements ICustomerInfo.UpdateComplete
    Public Property CustomerName() As String _
        Implements ICustomerInfo.CustomerName
        Get
            Return customerNameValue
        End Get
        Set(ByVal value As String)
            ' The value parameter is passed to the Set procedure
            ' when the contents of this property are modified.
            customerNameValue = value
        End Set
    End Property

    Public Sub UpdateCustomerStatus() _
        Implements ICustomerInfo.UpdateCustomerStatus
        ' Add code here to update the status of this account.
        ' Raise an event to indicate that this procedure is done.
        RaiseEvent UpdateComplete()
    End Sub
End Class

클래스는 클래스에서 customerInfo Implements 인터페이스의 모든 멤버를 구현 한다는 것을 나타내기 위해 문을 별도의 소스 코드 줄에 사용 합니다 ICustomerInfo .Note that the class customerInfo uses the Implements statement on a separate source code line to indicate that the class implements all the members of the ICustomerInfo interface. 그런 다음 클래스의 각 멤버가 해당 멤버 선언의 일부로 키워드를 사용 하 여 해당 Implements 인터페이스 멤버를 구현 함을 표시 합니다.Then each member in the class uses the Implements keyword as part of its member declaration to indicate that it implements that interface member.

예제Example

다음 두 절차에서는 앞의 예제에서 구현 된 인터페이스를 사용 하는 방법을 보여 줍니다.The following two procedures show how you could use the interface implemented in the preceding example. 구현을 테스트 하려면 이러한 프로시저를 프로젝트에 추가 하 고 프로시저를 호출 testImplements 합니다.To test the implementation, add these procedures to your project and call the testImplements procedure.

Public Sub TestImplements()
    ' This procedure tests the interface implementation by
    ' creating an instance of the class that implements ICustomerInfo.
    Dim cust As ICustomerInfo = New customerInfo()
    ' Associate an event handler with the event that is raised by
    ' the cust object.
    AddHandler cust.UpdateComplete, AddressOf HandleUpdateComplete
    ' Set the CustomerName Property
    cust.CustomerName = "Fred"
    ' Retrieve and display the CustomerName property.
    MsgBox("Customer name is: " & cust.CustomerName)
    ' Call the UpdateCustomerStatus procedure, which raises the
    ' UpdateComplete event.
    cust.UpdateCustomerStatus()
End Sub

Sub HandleUpdateComplete()
    ' This is the event handler for the UpdateComplete event.
    MsgBox("Update is complete.")
End Sub

참고 항목See also