Aracılığıyla paylaş


Class Deyimi (Visual Basic)

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

Sözdizimi

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

Parça

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

- Public
- Protected
- Friend
- Private
- Protected Friend
- Private Protected

Bkz. Visual Basic'te erişim düzeyleri.
Shadows isteğe bağlı. Bkz. Gölgeler.
MustInherit isteğe bağlı. Bkz . MustInherit.
NotInheritable isteğe bağlı. Bkz. NotInheritable.
Partial isteğe bağlı. Sınıfın kısmi tanımını gösterir. Bkz. Kısmi.
name Gerekli. Bu sınıfın adı. Bkz. Bildirilen Öğe Adları.
Of isteğe bağlı. Bunun genel bir sınıf olduğunu belirtir.
typelist Of anahtar sözcüğünü kullanıyorsanız gereklidir. Bu sınıf için tür parametrelerinin listesi. Bkz. Tür Listesi.
Inherits isteğe bağlı. Bu sınıfın başka bir sınıfın üyelerini devraldığını gösterir. Bkz. Inherits Deyimi.
classname deyimini Inherits kullanıyorsanız gereklidir. Bu sınıfın türetildiği sınıfın adı.
Implements isteğe bağlı. Bu sınıfın bir veya daha fazla arabirimin üyelerini uyguladığını gösterir. Bkz . Implements Deyimi.
interfacenames deyimini Implements kullanıyorsanız gereklidir. Bu sınıfın uyguladığı arabirimlerin adları.
statements isteğe bağlı. Bu sınıfın üyelerini tanımlayan deyimler.
End Class Gerekli. Tanımı sonlandırır Class .

Açıklamalar

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

Yalnızca ad alanı veya modül düzeyinde kullanabilirsiniz Class . Bu, bir sınıfın bildirim bağlamının bir kaynak dosya, ad alanı, sınıf, yapı, modül veya arabirim olması gerektiği ve bir yordam veya blok olamayacağı anlamına gelir. 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 bir yaşam süresine sahiptir. Bu yaşam süresi, New Operator yan tümcesi veya gibi CreateObjectbir işlev tarafından oluşturulduğunda başlar. Örneğe işaret eden tüm değişkenler Hiçbir şey veya diğer sınıfların örnekleri olarak ayarlandığında sona erer.

Sınıflar varsayılan olarak Arkadaş erişimi şeklindedir. Erişim değiştiricileri ile erişim düzeylerini ayarlayabilirsiniz. Daha fazla bilgi için bkz . Visual Basic'te erişim düzeyleri.

Kurallar

  • Iç içe. Bir sınıfı başka bir sınıf içinde tanımlayabilirsiniz. Dış sınıf içeren sınıf olarak adlandırılır ve iç sınıf iç içe sınıf olarak adlandırılır.

  • Devralma. Sınıfı Inherits Deyimini kullanıyorsa, yalnızca bir temel sınıf veya arabirim belirtebilirsiniz. Bir sınıf birden fazla öğeden devralamaz.

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

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

  • Uygulama. sınıfı Implements Deyimini kullanıyorsa, içinde interfacenamesbelirttiğiniz her arabirim tarafından tanımlanan her üyeyi uygulamanız gerekir. Bunun bir özel durumu, bir temel sınıf üyesinin yeniden hesaplanmasıdır. Daha fazla bilgi için Bkz. Implements(Uygulama) bölümünde "Reimplementation".

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

Davranış

  • Erişim Düzeyi. Bir sınıfta, her üyeyi kendi erişim düzeyiyle bildirebilirsiniz. Sınıf üyeleri, varsayılan olarak Özel erişim olan değişkenler ve sabitler dışında Genel erişim olarak varsayılandır. Bir sınıf, üyelerinden birinden daha kısıtlı erişime sahip olduğunda, sınıf erişim düzeyi önceliklidir.

  • Kapsam. Bir sınıf, ad alanı, sınıf, yapı veya modül içeren tüm kapsam içindedir.

    Her sınıf üyesinin kapsamı sınıfın tamamıdır.

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

    Sınıf üyeleri, nasıl ve nerede bildirildiğine bağlı olarak yaşam süresine sahiptir. Daha fazla bilgi için bkz . Visual Basic'te Yaşam Süresi.

  • Nitelik. Sınıfın dışındaki kod, üyenin adını bu sınıfın adıyla nitelemelidir.

    İç içe bir sınıfın içindeki kod bir programlama öğesine nitelenmemiş bir başvuru yaparsa, Visual Basic öğeyi önce iç içe geçen sınıfta, ardından içeren sınıfında ve en dıştaki içeren öğede arar.

Sınıflar ve Modüller

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

  • Terimler. Visual Basic'in önceki sürümleri iki tür modülü tanır: sınıf modülleri (.cls dosyaları) ve standart modüller (.bas dosyaları). Geçerli sürümde sırasıyla bu sınıflar ve modüller çağrılır.

  • Paylaşılan Üyeler. Bir sınıfın üyesinin paylaşılan veya örnek üyesi olup olmadığını denetleyebilirsiniz.

  • Nesne Yönlendirmesi. 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 Class sınıfı ve birkaç üyeyi tanımlamak için bir deyimini kullanır.

Class BankAccount
    Shared interestRate As Decimal
    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.