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. |
Kovaryans ve contravariance genel arabirimler içinde inceler ve Varyant genel arabirimler listesini sağlar.net Framework. |