Aracılığıyla paylaş


Arabirimler (Visual Basic)

Arabirimler özellikleri, yöntemleri ve sınıfları uygulayan olayları tanımlarsınız.Arabirimler özelliklerini yakından ilişkili özellikler, yöntemler ve olaylar, küçük gruplar tanımlamanızı sağlarlar; Bu uyumluluk sorunlarını azaltır, çünkü varolan bir koda tehlikeye sokabilir olmadan Arabirimlerinizden için geliştirilmiş uygulamaları geliştirebilirsiniz.Ek arabirimler ve uygulamaları geliştirme, herhangi bir anda yeni özellikler ekleyebilirsiniz.

Neden yerine sınıf mirası arabirimleri kullanmak isteyebilirsiniz çeşitli nedenleri vardır:

  • Arabirimler, daha iyi, çok büyük olasılıkla belirli işlevselliği sağlamak için nesne türleri ilgisi olmayan uygulamalarınız gerektiren durumlar için uygundur.

  • Arabirimler temel sınıflar'den daha esnek olduğu birden çok arabirimi uygulayan bir tek uygulama tanımlayabilirsiniz.

  • Arabirimler içinde uygulama bir temel sınıftan kalıtımla gerekmez durumlarda daha iyi.

  • Sınıf mirası kullanamadığınız arabirimleri yararlıdır.Örneğin, yapıları sınıftan devralamaz ancak arabirimleri uygulayabilirsiniz.

Arabirimler bildirmek

Arabirim tanımları içinde içine Interface ve End Interface deyimleri.Aşağıdaki Interface deyimi, ekleyebileceğiniz isteğe bağlı bir Inherits bir veya daha fazla devralınan arabirimlerini listeler ifadesi.Inherits İfadeleri gerekir bildiriminde açıklamalar dışında diğer ifadeleri koyun.The remaining statements in the interface definition should be Event, Sub, Function, Property, Interface, Class, Structure, and Enum statements.Arabirimler, herhangi bir uygulama kodu veya uygulama kodu ile ilişkili deyimleri içeremez End Sub veya End Property.

Bir ad alanında arabirimi deyimleridir Friend varsayılan olarak, ancak bunlar aynı zamanda açıkça olarak bildirilebilir Public veya Friend.Arabirimlerin sınıfları, modüller, arabirimler içinde tanımlanan ve yapýlar þunlardýr: Public varsayılan olarak, ancak bunlar aynı zamanda açıkça olarak bildirilebilir Public, Friend, Protected, veya Private.

[!NOT]

Shadows Anahtar sözcüğünü tüm arabirim üyeleri için uygulanabilir.Overloads Anahtar sözcük için uygulanabilir Sub, Function, ve Property ifadeleri bir arabirim tanımında bildirilen.Buna ek olarak, Property deyimleri olabilir Default, ReadOnly, veya WriteOnly değiştiriciler.None of the other modifiers—Public, Private, Friend, Protected, Shared, Overrides, MustOverride, or Overridable—are allowed.Daha fazla bilgi için bkz. Bildirim Bağlamları ve Varsayılan Erişim Düzeyleri (Visual Basic).

Örneğin, aşağıdaki kod, bir işlev, bir özellik ve bir olay olan bir arabirim tanımlar.

Interface IAsset
    Event ComittedChange(ByVal Success As Boolean)
    Property Division() As String 
    Function GetID() As Integer 
End Interface

Arabirimleri uygulayan

Visual Basic Ayrılmış kelime Implements iki şekilde kullanılır.Implements Deyimi belirtir bir sınıf veya yapı bir arabirimi uygulayan.Implements Anahtar sözcüğü, bir sınıf üyesi ya da üye yapısı belirli arabirim üyesi uygulayan belirtir.

Implements deyimi

Bir sınıf veya yapı bir veya daha fazla arabirim uygulayan, içermelidir Implements deyimi hemen sonra Class veya Structure ifadesi.Implements İfade gerektirir bir sınıf tarafından uygulanacak arabirimler virgülle ayrılmış listesi.Sınıf veya yapı kullanarak tüm arabirim üyeleri uygulayan gerekir Implements anahtar sözcüğü.

İmplements anahtar sözcüğünü

Implements Anahtar sözcük gerektirir uygulanacak arabirim üyeleri virgülle ayrılmış listesi.Genellikle, yalnızca bir tek arabirim üyesi belirtilir, ancak birden çok üye belirtebilirsiniz.Bir arabirim üyesi tayini sınıf içindeki Implements deyiminde belirtilmelidir arabirim adı oluşur; bir dönem; ve üye işlev, özellik veya uygulanacak olay adı.Bir arabirim üyesi uygulayan bir üyenin adı herhangi bir geçerli tanımlayıcıyı kullanabilirsiniz ve sınırlı değildir InterfaceName_MethodName 'ın önceki sürümlerinde kullanılan kuralı Visual Basic.

Örneğin, aşağıdaki kod adlı bir alt yordam için nasıl gösterir Sub1 , arabirim yöntemi uygular:

Class Class1
    Implements interfaceclass.interface2

    Sub Sub1(ByVal i As Integer) Implements interfaceclass.interface2.Sub1
    End Sub 
End Class

Arabirimin arabirim özelliği veya üye bildiriminde uygulama üyesinin dönüş türleri ve parametre türleri eşleşmelidir.Bir arabirim öğesi uygulamak için en yaygın yolu arabirimi olarak aynı ada sahip bir üye ile önceki örnekte gösterildiği gibidir.

Bir arabirim yöntemin uygulaması bildirmek için üzerinde örnek yöntem bildirimleri de dahil olmak üzere, yasal olan öznitelikleri kullanabilirsiniz Overloads, Overrides, Overridable, Public, Private, Protected, Friend, Protected Friend, MustOverride, Default, ve Static.Shared Özniteliği değil yasal bir oluşum yöntemi yerine bir sınıf tanımladığından.

Kullanarak Implements, ayrıca, aşağıdaki örnekte olduğu gibi bir arabirim tanımlanan birden çok yöntemi uygulayan tek bir yöntem yazabilirsiniz:

Class Class2
    Implements I1, I2

    Protected Sub M1() Implements I1.M1, I1.M2, I2.M3, I2.M4
    End Sub 
End Class

Özel üye bir arabirim üyesi uygulamak için kullanabilirsiniz.Doğrudan sınıf nesne değişkenleri kullanılabilir olmadığı halde o üyeye özel üye üye bir arabirim geliştirdiğinde arabirimi yoluyla kullanılabilir duruma gelir.

Arabirim uygulama örnekleri

Bir arabirimini uygulayan sınıflar, tüm özelliklerini, yöntemlerini ve olaylarını uygulamalıdır.

Aşağıdaki örnek, iki arabirim tanımlar.İkinci arabirim Interface2, miras Interface1 ve bir ek özellik ve yöntem tanımlar.

Interface Interface1
    Sub sub1(ByVal i As Integer)
End Interface 

' Demonstrates interface inheritance. 
Interface Interface2
    Inherits Interface1
    Sub M1(ByVal y As Integer)
    ReadOnly Property Num() As Integer 
End Interface

Bir sonraki örnek uygulayan Interface1, önceki örnekte tanımlanan arabirimi:

Public Class ImplementationClass1
    Implements Interface1
    Sub Sub1(ByVal i As Integer) Implements Interface1.sub1
        ' Insert code here to implement this method. 
    End Sub 
End Class

Son örnek uygulayan Interface2, bir yöntemi de dahil olmak üzere alınan Interface1:

Public Class ImplementationClass2
    Implements Interface2
    Dim INum As Integer = 0
    Sub sub1(ByVal i As Integer) Implements Interface2.sub1
        ' Insert code here that implements this method. 
    End Sub 
    Sub M1(ByVal x As Integer) Implements Interface2.M1
        ' Insert code here to implement this method. 
    End Sub 

    ReadOnly Property Num() As Integer Implements Interface2.Num
        Get
            Num = INum
        End Get 
    End Property 
End Class

İlgili Konular

Başlık

Description

İzlenecek yol: Arabirimleri Oluşturma ve Uygulama (Visual Basic)

Tanımlama ve kendi arabirim uygulama adımlarına balar ayrıntılı bir yordam sağlar.

Genel Arabirimlerde Varyans (C# ve Visual Basic)

Kovaryans ve contravariance genel arabirimler içinde inceler ve Varyant genel arabirimler listesini sağlar.net Framework.