Pernyataan Kelas (Visual Basic)
Mendeklarasikan nama kelas dan memperkenalkan definisi variabel, properti, peristiwa, dan prosedur yang terdiri dari kelas.
Sintaks
[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] [ Partial ] _
Class name [ ( Of typelist ) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ statements ]
End Class
Generator
Term | Definisi |
---|---|
attributelist |
Opsional. Lihat Daftar Atribut. |
accessmodifier |
Opsional. Bisa jadi salah satu dari yang berikut: - Publik - Terlindungi - Teman - Privat - Teman yang Terlindungi - Dilindungi secara Privat Lihat Tingkat akses di Visual Basic. |
Shadows |
Opsional. Lihat Bayangan. |
MustInherit |
Opsional. Lihat MustInherit. |
NotInheritable |
Opsional. Lihta NotInheritable. |
Partial |
Opsional. Menunjukkan definisi parsial dari kelas. Lihat Parsial. |
name |
Harus diisi. Nama kelas ini. Lihat Nama Elemen yang Dideklarasikan. |
Of |
Opsional. Menentukan bahwa ini adalah kelas generik. |
typelist |
Diperlukan jika Anda menggunakan kata kunci Dari. Daftar parameter jenis untuk kelas ini. Lihat Daftar Jenis. |
Inherits |
Opsional. Menunjukkan bahwa kelas ini mewarisi anggota kelas lain. Lihat Pernyataan Inherits. |
classname |
Diperlukan jika Anda menggunakan pernyataan Inherits . Nama kelas atau antarmuka dari asal kelas ini. |
Implements |
Opsional. Menunjukkan bahwa kelas ini mengimplementasikan anggota dari satu atau lebih antarmuka. Lihat Pernyataan Implements. |
interfacenames |
Diperlukan jika Anda menggunakan pernyataan Implements . Nama-nama antarmuka yang diimplementasikan kelas ini. |
statements |
Opsional. Pernyataan yang mendefinisikan anggota kelas ini. |
End Class |
Harus diisi. Mengakhiri definisi Class . |
Keterangan
Pernyataan Class
mendefinisikan jenis data baru. Kelas adalah blok penyusun dasar pemrograman berorientasi objek (OOP). Untuk informasi selengkapnya, lihat Objek dan Kelas.
Anda hanya dapat menggunakan Class
di tingkat namespace atau modul. Ini berarti konteks deklarasi untuk antarmuka 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 Default.
Setiap instans kelas memiliki masa pakai independen dari semua instans lainnya. Masa pakai ini dimulai ketika dibuat oleh klausul Operator Baru atau oleh fungsi seperti CreateObject. Ini berakhir ketika semua variabel yang menunjuk ke instans telah diatur ke Nothing atau ke instans kelas lain.
Default kelas 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 kelas dalam kelas lain. Kelas luar disebut kelas yang memuat, dan kelas dalam disebut kelas berlapis.
Turunan. Jika kelas menggunakan Pernyataan Warisan, Anda hanya dapat menentukan satu kelas dasar atau antarmuka. Kelas tidak dapat mewarisi dari lebih dari satu elemen.
Kelas tidak dapat mewarisi dari kelas lain dengan tingkat akses yang lebih ketat. Misalnya, kelas
Public
tidak dapat mewarisi dari kelasFriend
.Kelas tidak dapat mewarisi dari kelas yang bersarang di dalamnya.
Implementasi. Jika struktur menggunakan Pernyataan Implementasi, Anda harus mengimplementasikan setiap anggota yang ditentukan oleh setiap antarmuka yang Anda tentukan di
interfacenames
. Pengecualian untuk ini adalah implementasi ulang anggota kelas dasar. Untuk informasi selengkapnya, lihat "Implementasi Ulang" di Penerapan.Properti Default. Kelas dapat menentukan paling banyak satu properti sebagai properti defaultnya. Untuk informasi selengkapnya, lihat Default.
Perilaku
Tingkat Akses. Dalam kelas, Anda dapat mendeklarasikan setiap anggota dengan tingkat aksesnya sendiri. Anggota kelas default ke kses Publik, kecuali variabel dan konstanta, yang default ke akses Privat. Ketika kelas memiliki akses yang lebih terbatas daripada salah satu anggotanya, tingkat akses kelas lebih diutamakan.
Cakupan. Kelas berada dalam ruang lingkup di seluruh namespace, kelas, struktur, atau modul yang memuatnya.
Ruang lingkup setiap anggota kelas adalah seluruh kelas.
Masa pakai. Visual Basic tidak mendukung kelas statis. Setara fungsional dari kelas statis disediakan oleh modul. Untuk informasi selengkapnya, lihat Pernyataan Modul.
Anggota kelas memiliki masa hidup tergantung pada bagaimana dan di mana mereka dideklarasikan. Untuk informasi selengkapnya, lihat Masa Pakai dalam Visual Basic.
Kualifikasi. Kode di luar kelas harus memenuhi syarat nama anggota dengan nama kelas tersebut.
Jika kode di dalam kelas bersarang membuat referensi yang tidak memenuhi syarat ke elemen pemrograman, Visual Basic mencari elemen pertama di kelas bersarang, kemudian di kelas yang memuat, dan seterusnya ke elemen yang berisi terluar.
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. Anda dapat membuat satu atau beberapa instans kelas. Untuk informasi selengkapnya, lihat Objek dan Kelas.
Contoh
Contoh berikut menggunakan pernyataan Class
untuk menentukan kelas dan beberapa anggota.
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