Interface Deyimi (Visual Basic)

Bir arabirimin adını belirtir ve arabirimin üyesi olan üyelerin tanımlarını sunar.

Syntax

[ <attributelist> ] [ accessmodifier ] [ Shadows ] _  
Interface name [ ( Of typelist ) ]  
    [ Inherits interfacenames ]  
    [ [ modifiers ] Property membername ]  
    [ [ modifiers ] Function membername ]  
    [ [ modifiers ] Sub membername ]  
    [ [ modifiers ] Event membername ]  
    [ [ modifiers ] Interface membername ]  
    [ [ modifiers ] Class membername ]  
    [ [ modifiers ] Structure membername ]  
End Interface  

Bölümler

Süre Tanım
attributelist İsteğe bağlı. Bkz. Öznitelik Listesi.
accessmodifier İsteğe bağlı. Aşağıdakilerden biri olabilir:

- Kamu
- Korumalı
- Arkadaşı
- Özel
- Korumalı Arkadaş
- Özel Korumalı

Bkz. erişim düzeyleri Visual Basic.
Shadows İsteğe bağlı. Bkz. Gölgeler.
name Gereklidir. Bu arabirimin adı. Bkz. Bildirilen Öğe Adları.
Of İsteğe bağlı. Bunun genel bir arabirim olduğunu belirtir.
typelist Of anahtar sözcüğünü kullanıyorsanız gereklidir. Bu arabirim için tür parametrelerinin listesi. İsteğe bağlı olarak, her tür parametresi ve genel değiştiriciler In Out kullanılarak değişken bildir olabilir. Bkz. Tür Listesi.
Inherits İsteğe bağlı. Bu arabirimin, başka bir arabirimin veya arabirimin özniteliklerini ve üyelerini devralınan olduğunu gösterir. Bkz. Inherits Deyimi.
interfacenames deyimini kullanıyorsanız Inherits gereklidir. Bu arabirimin türet olduğu arabirimlerin adları.
modifiers İsteğe bağlı. Tanımlanan arabirim üyesi için uygun değiştiriciler.
Property İsteğe bağlı. Arabirimin üyesi olan bir özelliği tanımlar.
Function İsteğe bağlı. Arabirimin Function üyesi olan bir yordamı tanımlar.
Sub İsteğe bağlı. Arabirimin Sub üyesi olan bir yordamı tanımlar.
Event İsteğe bağlı. Arabirimin üyesi olan bir olayı tanımlar.
Interface İsteğe bağlı. Bu arabirim içinde iç içe geçmiş bir arabirim tanımlar. İç içe arabirim tanımının bir deyimiyle End Interface sonlandırılmaları gerekir.
Class İsteğe bağlı. Arabirimin üyesi olan bir sınıf tanımlar. Üye sınıf tanımının bir deyimiyle End Class sonlandırılmaları gerekir.
Structure İsteğe bağlı. Arabirimin üyesi olan bir yapıyı tanımlar. Üye yapısı tanımı bir deyimiyle End Structure sonlandırılmalı.
membername Arabirimin bir üyesi olarak tanımlanan her özellik, yordam, olay, arabirim, sınıf veya yapı için gereklidir. Üyenin adı.
End Interface Tanımı Interface sonlandırılır.

Açıklamalar

Arabirim, sınıfların ve yapıların uygulayanın özellikler ve yordamlar gibi bir üye kümesi tanımlar. Arabirimi yalnızca üyelerin imzalarını tanımlar, iç çalışmalarını tanımlar.

Bir sınıf veya yapı, arabirimi tarafından tanımlanan her üye için kod teminerek arabirimini uygulamaya ekler. Son olarak, uygulama bu sınıftan veya yapıdan bir örnek oluşturduğunda, bir nesne var olur ve bellekte çalışır. Daha fazla bilgi için bkz. Nesneler ve Sınıflar ve Arabirimler.

Yalnızca ad Interface alanı veya modül düzeyinde kullanabilirsiniz. Bu, bir arabirimin bildirim bağlamının bir kaynak dosya, ad alanı, sınıf, yapı, modül veya arabirim olması ve bir yordam ya da blok olamaz olması anlamına gelir. Daha fazla bilgi için bkz. Bildirim Bağlamları ve Varsayılan Erişim Düzeyleri.

Arabirimler varsayılan olarak Arkadaş erişimi'ne sahiptir. Erişim değiştiricileriyle erişim düzeylerini ayarlayabilirsiniz. Daha fazla bilgi için bkz. Visual Basic.

Kurallar

  • Arabirimleri İç İçe Yerleştirme. Bir arabirimi başka bir arabirim içinde tanımlayabilirsiniz. Dış arabirim, içeren arabirim olarak, iç arabirim ise iç içe geçmiş arabirim olarak adlandırılan arabirimdir.

  • Üye Bildirimi. Bir özelliği veya yordamı arabirimin bir üyesi olarak bildirseniz, yalnızca bu özelliğin veya yordamın imzasını tanımlarsiniz. Bu öğe türünü (özellik veya yordam), parametrelerini ve parametre türlerini ve dönüş türünü içerir. Bu nedenle, üye tanımı yalnızca bir kod satırı kullanır ve veya gibi sonlandırıcı End Function End Property deyimler bir arabirimde geçerli değildir.

    Buna karşılık, bir numaralama veya yapı ya da iç içe geçmiş bir sınıf ya da arabirim tanımladığınız zaman, bunların veri üyelerini eklemek gerekir.

  • Üye Değiştiricileri. Modül üyelerini tanımlarken hiçbir erişim değiştiricisi kullanamaz veya Aşırı Yüklemeler dışında Paylaşılan veya herhangi bir yordam değiştiricisi belirtemezseniz. Gölgeler olan herhangi bir üyeyi bildirabilirve bir özellik tanımlarken Varsayılan'ın yanı sıra ReadOnly veya WriteOnly kullanabilirsiniz.

  • Devralma. Arabirim Inherits Deyimini kullanıyorsa,bir veya daha fazla temel arabirim belirtebilirsiniz. Her biri aynı adla bir üye tanımlasa bile iki arabirimden devralabilirsiniz. Bunu yaparsanız, uygulayan kodun hangi üyeyi uygulaydığını belirtmek için ad niteliğini kullanması gerekir.

    Arabirim, daha kısıtlayıcı erişim düzeyine sahip başka bir arabirimden devralamaz. Örneğin, bir arabirim Public bir arabirimden Friend devralamaz.

    Arabirim, iç içe geçmiş bir arabirimden devralamaz.

  • Uygulama. Bir sınıf bu arabirimi uygulamak için Implements deyimini kullandığında, arabirim içinde tanımlanan her üyeyi uygulaması gerekir. Ayrıca, uygulama kodundaki her imza, bu arabirimde tanımlanan ilgili imzayla tam olarak eşleşmeli. Ancak, uygulama kodundaki üyenin adının arabirimde tanımlanan üye adıyla eşleşmesi gerekli değildir.

    Sınıf bir yordam uygulama sırasında yordamı olarak Shared alamaz.

  • Varsayılan Özellik. Bir arabirim, özellik adı olmadan başvurulan varsayılan özelliği olarak en fazla bir özellik belirtebilirsiniz. Bu tür bir özelliği Varsayılan değiştiricisi ile bildirerek belirtirsiniz.

    Bunun, bir arabirimin yalnızca hiçbiri devralınmasa varsayılan bir özellik tanımlay

Davranış

  • Erişim Düzeyi. Tüm arabirim üyeleri örtülü olarak Genel erişime sahiptir. Üye tanımlarken herhangi bir erişim değiştiricisi kullanılamaz. Ancak, arabirimini uygulayan bir sınıf, uygulanan her üye için bir erişim düzeyi bildirebilirsiniz.

    Bir değişkene bir sınıf örneği atarsanız, üyelerinin erişim düzeyi değişkenin veri türünün temel arabirim mi yoksa uygulama sınıfı mı olduğuna bağlı olabilir. Aşağıdaki örnek bunu göstermektedir.

    Public Interface IDemo
        Sub DoSomething()
    End Interface
    Public Class implementIDemo
        Implements IDemo
        Private Sub DoSomething() Implements IDemo.DoSomething
        End Sub
    End Class
    Dim varAsInterface As IDemo = New implementIDemo()
    Dim varAsClass As implementIDemo = New implementIDemo()
    

    sınıf üyelerine üzerinden varAsInterface erişersiniz, bunların hepsi genel erişime sahip olur. Ancak, üyelere üzerinden varAsClass erişersiniz, Sub yordamın doSomething özel erişimi vardır.

  • Kapsam. Arabirim ad alanı, sınıfı, yapısı veya modülü boyunca kapsamdadır.

    Her arabirim üyesinin kapsamı arabirimin tamamıdır.

  • Ömür boyu. Arabirimin kendisi bir yaşam süresine veya üyelerine sahip değildir. Bir sınıf bir arabirim uygulayan ve bu sınıfın bir örneği olarak bir nesne oluşturulduğunda, nesnenin içinde çalıştırılan uygulama içinde bir yaşam süresi vardır. Daha fazla bilgi için Sınıf Deyiminde "Yaşam Süresi" 'ne bakın.

Örnek

Aşağıdaki örnek, deyimini kullanarak deyimi ve deyimiyle uygulanması gereken Interface adlı bir arabirim thisInterface Property Function tanımlar.

Public Interface thisInterface
    Property ThisProp(ByVal thisStr As String) As Char
    Function ThisFunc(ByVal thisInt As Integer) As Integer
End Interface

ve deyimleri Property ile biten ve arabirim içinde Function End Property bloklar End Function uygulamaz. Arabirim yalnızca üyelerinin imzalarını tanımlar. tam Property ve Function blokları uygulayan bir sınıfta thisInterface görünür.

Ayrıca bkz.