Module Deyimi

Modülün adını bildirir ve modülün oluşturduğu değişkenlerin, özelliklerin, olayların ve yordamların tanımını tanıtır.

Sözdizimi

[ <attributelist> ] [ accessmodifier ]  Module name
    [ statements ]
End Module

Parça

attributelist
isteğe bağlı. Bkz. Öznitelik Listesi.

accessmodifier
isteğe bağlı. Aşağıdakilerden biri olabilir:

Bkz. Visual Basic'te erişim düzeyleri.

name
Gerekli. Bu modülün adı. Bkz. Bildirilen Öğe Adları.

statements
isteğe bağlı. Bu modülün değişkenlerini, özelliklerini, olaylarını, yordamlarını ve iç içe yerleştirilmiş türlerini tanımlayan deyimler.

End Module
Tanımı sonlandırır Module .

Açıklamalar

Deyimi Module , ad alanı boyunca kullanılabilen bir başvuru türünü tanımlar. Bir modül (bazen standart modül olarak adlandırılır) bir sınıfa benzer, ancak bazı önemli ayrımlara sahiptir. Her modülün tam olarak bir örneği vardır ve bir değişken oluşturulması veya atanması gerekmez. Modüller devralmayı desteklemez veya arabirimleri uygulamaz. Bir modülün, bir sınıfın veya yapının olduğu anlamda bir tür olmadığını fark edin; bir programlama öğesini modülün veri türüne sahip olacak şekilde bildiremezsiniz.

Yalnızca ad alanı düzeyinde kullanabilirsiniz Module . Bu, bir modülün bildirim bağlamının bir kaynak dosya veya ad alanı olması gerektiği ve sınıf, yapı, modül, arabirim, yordam veya blok olamayacağı anlamına gelir. Bir modülü başka bir modül içinde veya herhangi bir tür içinde iç içe yerleştiremezsiniz. Daha fazla bilgi için bkz . Bildirim Bağlamları ve Varsayılan Erişim Düzeyleri.

Bir modül, programınızla aynı yaşam süresine sahiptir. Üyelerinin tümü Sharedolduğundan, aynı zamanda programın ömrüne eşit ömürleri de vardır.

Modüller varsayılan olarak Arkadaş erişimi olarak kullanılır. Erişim değiştiricileri ile erişim düzeylerini ayarlayabilirsiniz. Daha fazla bilgi için bkz . Visual Basic'te erişim düzeyleri.

Bir modülün tüm üyeleri örtük olarak Sharedkullanılır.

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. Bu nedenle yalnızca sınıflar nesne olarak örneklenebilir. Daha fazla bilgi için bkz . Nesneler ve Sınıflar.

Kurallar

  • Değiştirici. Tüm modül üyeleri örtük olarak Paylaşılır. Bir üyeyi bildirirken anahtar sözcüğünü Shared kullanamazsınız ve hiçbir üyenin paylaşılan durumunu değiştiremezsiniz.

  • Devralma. Bir modül, tüm modüllerin devraldığı dışında Objectbir türden devralamaz. Özellikle, bir modül başka bir modülden devralamaz.

    Bir modül tanımında Inherits Deyimini , belirtmek Objectiçin bile kullanamazsınız.

  • Varsayılan Özellik. Bir modülde varsayılan özellikleri tanımlayamazsınız. Daha fazla bilgi için bkz . Varsayılan.

Davranış

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

  • Kapsam. Bir modül, ad alanı boyunca kapsam dahilindedir.

    Her modül üyesinin kapsamı modülün tamamıdır. Tüm üyelerin tür yükseltmesinden geçtiğine ve bu da kapsamlarının modülü içeren ad alanına yükseltilmesine neden olduğuna dikkat edin. Daha fazla bilgi için bkz . Tür Yükseltme.

  • Nitelik. Bir projede birden çok modül olabilir ve iki veya daha fazla modülde aynı ada sahip üyeleri bildirebilirsiniz. Ancak, başvuru bu modülün dışından geliyorsa, bu tür bir üyeye başvuruyu uygun modül adıyla nitelemeniz gerekir. Daha fazla bilgi için bkz . Bildirilen Öğelere Başvurular.

Örnek

Public Module thisModule
    Sub Main()
        Dim userName As String = InputBox("What is your name?")
        MsgBox("User name is " & userName)
    End Sub
    ' Insert variable, property, procedure, and event declarations.
End Module

Ayrıca bkz.