Bagikan melalui


Pernyataan Modul

Mendeklarasikan nama modul dan memperkenalkan definisi variabel, properti, peristiwa, dan prosedur yang terdiri dari modul.

Sintaksis

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

Bagian

attributelist
Fakultatif. Lihat Daftar Atribut.

accessmodifier
Fakultatif. Dapat berupa salah satu hal berikut:

Lihat Tingkat akses di Visual Basic.

name
Dibutuhkan. Nama modul ini. Lihat Nama Elemen yang Dideklarasikan.

statements
Fakultatif. Pernyataan yang menentukan variabel, properti, peristiwa, prosedur, dan jenis berlapis modul ini.

End Module
Module Mengakhiri definisi.

Komentar

Pernyataan Module mendefinisikan jenis referensi yang tersedia di seluruh namespace layanannya. Modul (terkadang disebut modul standar) mirip dengan kelas tetapi dengan beberapa perbedaan penting. Setiap modul memiliki tepat satu instans dan tidak perlu dibuat atau ditetapkan ke variabel. Modul tidak mendukung pewarisan atau menerapkan antarmuka. Perhatikan bahwa modul bukan jenis dalam arti kelas atau struktur — Anda tidak dapat mendeklarasikan elemen pemrograman untuk memiliki jenis data modul.

Anda hanya dapat menggunakan Module di tingkat namespace layanan. Ini berarti konteks deklarasi untuk modul harus berupa file sumber atau namespace, dan tidak dapat menjadi kelas, struktur, modul, antarmuka, prosedur, atau blok. Anda tidak dapat menumpuk modul dalam modul lain, atau dalam jenis apa pun. Untuk informasi selengkapnya, lihat Konteks Deklarasi dan Tingkat Akses Bawaan.

Modul memiliki masa pakai yang sama dengan program Anda. Karena anggotanya semua Shared, mereka juga memiliki masa pakai yang sama dengan program.

Modul default ke akses Teman . Anda dapat menyesuaikan tingkat aksesnya dengan pengubah akses. Untuk informasi selengkapnya, lihat Tingkat akses di Visual Basic.

Semua anggota modul secara Sharedimplisit .

Kelas dan Modul

Elemen-elemen ini memiliki banyak kesamaan, tetapi ada beberapa perbedaan penting juga.

  • Terminologi. Versi Visual Basic sebelumnya mengenali dua jenis modul: modul kelas (file.cls) dan modul standar (file.bas). Versi saat ini masing-masing memanggil kelas dan modul ini.

  • Anggota Bersama. Anda dapat mengontrol apakah anggota kelas adalah anggota bersama atau instans.

  • Orientasi Objek. Kelas berorientasi objek, tetapi modul tidak. Jadi hanya kelas yang dapat diinstansiasi sebagai objek. Untuk informasi selengkapnya, lihat Objek dan Kelas.

Aturan

  • Pengubah. Semua anggota modul dibagikan secara implisit. Anda tidak dapat menggunakan Shared kata kunci saat mendeklarasikan anggota, dan Anda tidak dapat mengubah status bersama anggota mana pun.

  • Turunan. Modul tidak dapat mewarisi dari jenis apa pun selain Object, tempat semua modul mewarisi. Secara khusus, satu modul tidak dapat mewarisi dari modul lain.

    Anda tidak dapat menggunakan Pernyataan Warisan dalam definisi modul, bahkan untuk menentukan Object.

  • Properti Default. Anda tidak dapat menentukan properti default apa pun dalam modul. Untuk informasi selengkapnya, lihat Default.

Perilaku

  • Tingkat Akses. Dalam modul, Anda dapat mendeklarasikan setiap anggota dengan tingkat aksesnya sendiri. Anggota modul default ke Akses publik , kecuali variabel dan konstanta, yang default ke Akses privat . Ketika modul memiliki akses yang lebih terbatas daripada salah satu anggotanya, tingkat akses modul yang ditentukan lebih diutamakan.

  • Ruang lingkup. Modul berada dalam cakupan di seluruh namespace layanannya.

    Cakupan setiap anggota modul adalah seluruh modul. Perhatikan bahwa semua anggota menjalani promosi jenis, yang menyebabkan cakupan mereka dipromosikan ke namespace yang berisi modul. Untuk informasi selengkapnya, lihat Mengetik Promosi.

  • Kualifikasi. Anda dapat memiliki beberapa modul dalam proyek, dan Anda dapat mendeklarasikan anggota dengan nama yang sama dalam dua modul atau lebih. Namun, Anda harus memenuhi syarat referensi apa pun ke anggota tersebut dengan nama modul yang sesuai jika referensi berasal dari luar modul tersebut. Untuk informasi selengkapnya, lihat Referensi ke Elemen yang Dideklarasikan.

Contoh

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

Lihat juga