Class Deyimi (Visual Basic)

Bir sınıfın adını bildirir ve sınıfın içerdiği değişkenlerin, özelliklerin, olayların ve yordamların tanımını tanıtır.

Syntax

[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] [ Partial ] _  
Class name [ ( Of typelist ) ]  
    [ Inherits classname ]  
    [ Implements interfacenames ]  
    [ statements ]  
End Class  

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:

- Geneldir
- Korunamadı
- Dost
- Özelleştirme
- Korumalı arkadaş
- Özel korumalı

Visual Basic erişim düzeylerinebakın.
Shadows İsteğe bağlı. Bkz. gölgeler.
MustInherit İsteğe bağlı. Bkz. MustInherit.
NotInheritable İsteğe bağlı. NotInheritableöğesine bakın.
Partial İsteğe bağlı. Sınıfın kısmi bir tanımını gösterir. Kısmigör.
name Gereklidir. Bu sınıfın adı. Bkz. tanımlanmış öğe adları.
Of İsteğe bağlı. Bunun genel bir sınıf olduğunu belirtir.
typelist Anahtar sözcüğünü kullanıyorsanız gereklidir. Bu sınıf için tür parametrelerinin listesi. Bkz. tür listesi.
Inherits İsteğe bağlı. Bu sınıfın başka bir sınıfın üyelerini devraldığını gösterir. Bkz. Inherits açıklaması.
classname İfadesini kullanıyorsanız gereklidir Inherits . Bu sınıfın türetildiği sınıfın adı.
Implements İsteğe bağlı. Bu sınıfın bir veya daha fazla arabirimin üyelerini uyguladığını gösterir. Bkz. Implements açıklaması.
interfacenames İfadesini kullanıyorsanız gereklidir Implements . Bu sınıfın uyguladığı arabirimlerin adları.
statements İsteğe bağlı. Bu sınıfın üyelerini tanımlayan deyimler.
End Class Gereklidir. Tanımı sonlandırır Class .

Açıklamalar

Bir Class ifade yeni bir veri türünü tanımlar. Sınıf , nesne odaklı programlama (OOP) temel yapı taşıdır. Daha fazla bilgi için bkz. nesneler ve sınıflar.

ClassYalnızca ad alanı veya modül düzeyinde kullanabilirsiniz. Diğer bir deyişle, bir sınıf için Bildirim bağlamı bir kaynak dosya, ad alanı, sınıf, yapı, modül veya arabirim olmalıdır ve bir yordam veya blok olamaz. Daha fazla bilgi için bkz. bildirim bağlamları ve varsayılan erişim düzeyleri.

Bir sınıfın her örneği, diğer tüm örneklerden bağımsız olarak yaşam süresine sahiptir. Bu ömür, Yeni bir işleç yan tümcesi veya gibi bir işlev tarafından oluşturulduğunda başlar CreateObject . Örneğe işaret eden tüm değişkenler Nothing veya diğer sınıfların örneklerine ayarlandığında sonlanır.

Sınıfların varsayılan olarak arkadaş erişimi. Erişim değiştiricilerini kullanarak erişim düzeylerini ayarlayabilirsiniz. Daha fazla bilgi için bkz. Visual Basic erişim düzeyleri.

Kurallar

  • İç içe geçme. Bir sınıfı diğeri içinde tanımlayabilirsiniz. Dış sınıfa kapsayan sınıf denir ve iç sınıfa iç içe sınıf denir.

  • Devralmayı. Sınıf Inherits ifadesinikullanıyorsa yalnızca bir temel sınıf veya arabirim belirtebilirsiniz. Bir sınıf birden fazla öğeden devralınabilir.

    Bir sınıf daha kısıtlayıcı erişim düzeyine sahip başka bir sınıftan devralınabilir. Örneğin, bir Public sınıf sınıfından devralınabilir Friend .

    Bir sınıf, içinde iç içe geçmiş bir sınıftan devralınabilir.

  • Paylaşır. Sınıf Implements ifadesinikullanıyorsa, içinde belirttiğiniz her arabirim tarafından tanımlanan her üyeyi uygulamanız gerekir interfacenames . Bunun bir özel durumu, bir temel sınıf üyesinin yeniden uygulamasıdır. Daha fazla bilgi için, bkz. uygulamadaki"yeniden uygulama".

  • Varsayılan özellik. Bir sınıf, en az bir özelliği varsayılan özelliği olarak belirtebilir. Daha fazla bilgi için bkz. Default.

Davranış

  • Erişim düzeyi. Bir sınıf içinde, her üyeyi kendi erişim düzeyiyle bildirebilirsiniz. Sınıf üyeleri varsayılan olarak özel erişim için varsayılan olarak, değişkenler ve sabitler hariç genel erişime açıktır. Bir sınıf, üyelerinden birine göre daha kısıtlı erişime sahip olduğunda, sınıf erişim düzeyi önceliklidir.

  • Kapsam. Bir sınıf, kapsayan ad alanı, sınıf, yapı veya modül genelinde kapsamdadır.

    Her sınıf üyesinin kapsamı tüm sınıftır.

    Süre. Visual Basic statik sınıfları desteklemez. Statik bir sınıfın işlevsel eşdeğeri bir modül tarafından sağlanır. Daha fazla bilgi için bkz. module deyimleri.

    Sınıf üyeleri, nasıl ve nerede bildiridiklerine bağlı olarak yaşam süreleri vardır. Daha fazla bilgi için Visual Basic ömrü' ne bakın.

  • Yeter. Bir sınıf dışındaki kodun bir üyenin adını bu sınıfın adı ile nitelemeniz gerekir.

    iç içe yerleştirilmiş bir sınıf içindeki kod, bir programlama öğesine nitelenmemiş bir başvuru yaparsa, Visual Basic iç içe geçmiş sınıfta, ardından kapsayan sınıfında ve bu öğeyi en dıştaki içeren en dıştaki öğe için bir kez arar.

Sınıflar ve modüller

Bu öğelerin birçok benzerlikleri vardır ancak bazı önemli farklılıklar da vardır.

  • Terimler. Önceki sürümler Visual Basic modül türlerini tanır: sınıf modülleri (.cls dosyaları) ve standart modüller (.bas dosyaları). Geçerli sürüm sırasıyla bu sınıfları ve modülleri çağırıyor.

  • Paylaşılan Üyeler. Bir sınıfın üyesinin paylaşılan üye mi yoksa örnek üyesi mi olduğunu kontrol etmek için.

  • Nesne Yönü. Sınıflar nesne odaklıdır, ancak modüller değildir. Bir sınıfın bir veya daha fazla örneğini oluşturabilirsiniz. Daha fazla bilgi için bkz. Nesneler ve Sınıflar.

Örnek

Aşağıdaki örnek bir sınıf ve Class birkaç üye tanımlamak için deyimini kullanır.

Class BankAccount
    Shared interestRate As Decimal
    Private accountNumber As String
    Private accountBalance As Decimal
    Public holdOnAccount As Boolean = False

    Public ReadOnly Property Balance() As Decimal
        Get
            Return accountBalance
        End Get
    End Property

    Public Sub PostInterest()
        accountBalance = accountBalance * (1 + interestRate)
    End Sub

    Public Sub PostDeposit(ByVal amountIn As Decimal)
        accountBalance = accountBalance + amountIn
    End Sub

    Public Sub PostWithdrawal(ByVal amountOut As Decimal)
        accountBalance = accountBalance - amountOut
    End Sub
End Class

Ayrıca bkz.