Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mendeklarasikan nama struktur dan memperkenalkan definisi variabel, properti, peristiwa, dan prosedur yang terdiri dari struktur.
Sintaksis
[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ Partial ] _
Structure name [ ( Of typelist ) ]
[ Implements interfacenames ]
[ datamemberdeclarations ]
[ methodmemberdeclarations ]
End Structure
Bagian
| Istilah | Definisi |
|---|---|
attributelist |
Fakultatif. Lihat Daftar Atribut. |
accessmodifier |
Fakultatif. Dapat berupa salah satu hal berikut: - Umum - Dilindungi - Teman - Swasta - Teman yang Dilindungi - Dilindungi Privat Lihat Tingkat akses di Visual Basic. |
Shadows |
Fakultatif. Lihat Bayangan. |
Partial |
Fakultatif. Menunjukkan definisi parsial struktur. Lihat Parsial. |
name |
Dibutuhkan. Nama struktur ini. Lihat Nama Elemen yang Dideklarasikan. |
Of |
Fakultatif. Menentukan bahwa ini adalah struktur generik. |
typelist |
Diperlukan jika Anda menggunakan kata kunci Dari . Daftar parameter jenis untuk struktur ini. Lihat Daftar Jenis. |
Implements |
Fakultatif. Menunjukkan bahwa struktur ini mengimplementasikan anggota dari satu atau beberapa antarmuka. Lihat Menerapkan Pernyataan. |
interfacenames |
Diperlukan jika Anda menggunakan Implements pernyataan . Nama antarmuka yang diterapkan struktur ini. |
datamemberdeclarations |
Dibutuhkan. Nol atau lebih Const, , DimEnum, atau Event pernyataan yang mendeklarasikan anggota data struktur. |
methodmemberdeclarations |
Fakultatif. Nol atau lebih deklarasi Function, , Operator, Propertyatau Sub prosedur, yang berfungsi sebagai anggota metode struktur. |
End Structure |
Dibutuhkan.
Structure Mengakhiri definisi. |
Komentar
Pernyataan mendefinisikan Structure jenis nilai komposit yang dapat Anda sesuaikan.
Struktur adalah generalisasi jenis yang ditentukan pengguna (UDT) dari versi Visual Basic sebelumnya. Untuk informasi selengkapnya, lihat Struktur.
Struktur mendukung banyak fitur yang sama dengan kelas. Misalnya, struktur dapat memiliki properti dan prosedur, mereka dapat menerapkan antarmuka, dan mereka dapat memiliki konstruktor berparameter. Namun, ada perbedaan signifikan antara struktur dan kelas di area seperti warisan, deklarasi, dan penggunaan. Selain itu, kelas adalah jenis referensi dan struktur adalah jenis nilai. Untuk informasi selengkapnya, lihat Struktur dan Kelas.
Anda hanya dapat menggunakan Structure di namespace layanan atau tingkat modul. Ini berarti konteks deklarasi untuk struktur harus berupa file sumber, namespace, kelas, struktur, modul, atau antarmuka, dan tidak dapat menjadi prosedur atau blok. Untuk informasi selengkapnya, lihat Konteks Deklarasi dan Tingkat Akses Bawaan.
Struktur default ke akses Teman . Anda dapat menyesuaikan tingkat aksesnya dengan pengubah akses. Untuk informasi selengkapnya, lihat Tingkat akses di Visual Basic.
Aturan
Bersarang. Anda dapat menentukan satu struktur dalam struktur lain. Struktur luar disebut struktur yang mengandung, dan struktur dalam disebut struktur berlapis. Namun, Anda tidak dapat mengakses anggota struktur berlapis melalui struktur yang berisi. Sebagai gantinya, Anda harus mendeklarasikan variabel jenis data struktur berlapis.
Deklarasi Anggota. Anda harus menyatakan setiap anggota struktur. Anggota struktur tidak dapat Dilindungi atau
Protected Friendkarena tidak ada yang dapat mewarisi dari struktur. Struktur itu sendiri, bagaimanapun, bisaProtectedatauProtected Friend.Anda dapat mendeklarasikan nol atau lebih variabel yang tidak dibagikan atau peristiwa nonshared dan tidak biasa dalam struktur. Anda tidak boleh hanya memiliki konstanta, properti, dan prosedur, bahkan jika beberapa di antaranya tidak dibagikan.
Inisialisasi. Anda tidak dapat menginisialisasi nilai anggota data yang tidak dibagikan dari struktur sebagai bagian dari deklarasinya. Anda harus menginisialisasi anggota data tersebut dengan cara konstruktor berparameter pada struktur, atau menetapkan nilai kepada anggota setelah Anda membuat instans struktur.
Turunan. Struktur tidak dapat mewarisi dari jenis apa pun selain ValueType, dari mana semua struktur mewarisi. Secara khusus, satu struktur tidak dapat mewarisi dari yang lain.
Anda tidak dapat menggunakan Pernyataan Warisan dalam definisi struktur, bahkan untuk menentukan ValueType.
Pelaksanaan. Jika struktur menggunakan Pernyataan Implementasi, Anda harus mengimplementasikan setiap anggota yang ditentukan oleh setiap antarmuka yang Anda tentukan di
interfacenames.Properti Default. Struktur dapat menentukan paling banyak satu properti sebagai properti defaultnya, menggunakan pengubah Default . Untuk informasi selengkapnya, lihat Default.
Perilaku
Tingkat Akses. Dalam struktur, Anda dapat mendeklarasikan setiap anggota dengan tingkat aksesnya sendiri. Semua anggota struktur default ke Akses publik . Perhatikan bahwa jika struktur itu sendiri memiliki tingkat akses yang lebih terbatas, ini secara otomatis membatasi akses ke anggotanya, bahkan jika Anda menyesuaikan tingkat akses mereka dengan pengubah akses.
Ruang lingkup. Struktur berada dalam cakupan di seluruh ruang nama, kelas, struktur, atau modulnya.
Cakupan setiap anggota struktur adalah seluruh struktur.
Seumur hidup. Struktur tidak memiliki masa pakai. Sebaliknya, setiap instans struktur tersebut memiliki independen seumur hidup dari semua instans lainnya.
Masa pakai instans dimulai saat dibuat oleh klausa Operator Baru . Ini berakhir ketika masa pakai variabel yang menahannya berakhir.
Anda tidak dapat memperpanjang masa pakai instans struktur. Perkiraan untuk fungsionalitas struktur statis disediakan oleh modul. Untuk informasi selengkapnya, lihat Pernyataan Modul.
Anggota struktur memiliki masa pakai tergantung pada bagaimana dan di mana mereka dideklarasikan. Untuk informasi selengkapnya, lihat "Seumur Hidup" di Pernyataan Kelas.
Kualifikasi. Kode di luar struktur harus memenuhi syarat nama anggota dengan nama struktur tersebut.
Jika kode di dalam struktur berlapis membuat referensi yang tidak memenuhi syarat ke elemen pemrograman, Visual Basic mencari elemen terlebih dahulu dalam struktur berlapis, maka dalam strukturnya yang mengandung, dan sebagainya ke luar ke terluar yang berisi elemen. Untuk informasi selengkapnya, lihat Referensi ke Elemen yang Dideklarasikan.
Penggunaan Memori. Seperti semua jenis data komposit, Anda tidak dapat dengan aman menghitung total konsumsi memori struktur dengan menambahkan bersama-sama alokasi penyimpanan nominal anggotanya. Selain itu, Anda tidak dapat dengan aman mengasumsikan bahwa urutan penyimpanan dalam memori sama dengan urutan deklarasi Anda. Jika Anda perlu mengontrol tata letak penyimpanan struktur, Anda dapat menerapkan StructLayoutAttribute atribut ke
Structurepernyataan.
Contoh
Contoh berikut menggunakan Structure pernyataan untuk menentukan sekumpulan data terkait untuk karyawan. Ini menunjukkan penggunaan Publicanggota , Friend, dan Private untuk mencerminkan sensitivitas item data. Ini juga menunjukkan prosedur, properti, dan anggota peristiwa.
Public Structure employee
' Public members, accessible from throughout declaration region.
Public firstName As String
Public middleName As String
Public lastName As String
' Friend members, accessible from anywhere within the same assembly.
Friend employeeNumber As Integer
Friend workPhone As Long
' Private members, accessible only from within the structure itself.
Private homePhone As Long
Private level As Integer
Private salary As Double
Private bonus As Double
' Procedure member, which can access structure's private members.
Friend Sub CalculateBonus(ByVal rate As Single)
bonus = salary * CDbl(rate)
End Sub
' Property member to return employee's eligibility.
Friend ReadOnly Property Eligible() As Boolean
Get
Return level >= 25
End Get
End Property
' Event member, raised when business phone number has changed.
Public Event ChangedWorkPhone(ByVal newPhone As Long)
End Structure
Untuk informasi selengkapnya tentang cara menggunakan Structures, lihat Variabel Struktur.