Bagikan melalui


Pernyataan Kelas (Visual Basic)

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

Sintaksis

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

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.
MustInherit Fakultatif. Lihat MustInherit.
NotInheritable Fakultatif. Lihat NotInheritable.
Partial Fakultatif. Menunjukkan definisi parsial kelas. Lihat Parsial.
name Dibutuhkan. Nama kelas ini. Lihat Nama Elemen yang Dideklarasikan.
Of Fakultatif. Menentukan bahwa ini adalah kelas generik.
typelist Diperlukan jika Anda menggunakan kata kunci Dari . Daftar parameter jenis untuk kelas ini. Lihat Daftar Jenis.
Inherits Fakultatif. Menunjukkan bahwa kelas ini mewarisi anggota kelas lain. Lihat Pernyataan Warisan.
classname Diperlukan jika Anda menggunakan Inherits pernyataan . Nama kelas tempat kelas ini berasal.
Implements Fakultatif. Menunjukkan bahwa kelas ini mengimplementasikan anggota satu atau beberapa antarmuka. Lihat Menerapkan Pernyataan.
interfacenames Diperlukan jika Anda menggunakan Implements pernyataan . Nama antarmuka yang diterapkan kelas ini.
statements Fakultatif. Pernyataan yang menentukan anggota kelas ini.
End Class Dibutuhkan. Class Mengakhiri definisi.

Komentar

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 namespace layanan atau tingkat modul. Ini berarti konteks deklarasi untuk kelas 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.

Setiap instans kelas memiliki independen seumur hidup dari semua instans lainnya. Masa pakai ini dimulai ketika dibuat oleh klausa Operator Baru atau oleh fungsi seperti CreateObject. Ini berakhir ketika semua variabel yang menunjuk ke instans telah diatur ke Tidak Ada atau ke instans kelas lain.

Kelas 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 kelas dalam kelas lain. Kelas luar disebut kelas yang berisi, 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, Public kelas tidak dapat mewarisi dari Friend kelas.

    Kelas tidak dapat mewarisi dari kelas yang berlapis di dalamnya.

  • Pelaksanaan. Jika kelas menggunakan Pernyataan Implementasi, Anda harus mengimplementasikan setiap anggota yang ditentukan oleh setiap antarmuka yang Anda tentukan di interfacenames. Pengecualian untuk ini adalah pelengkapan kembali anggota kelas dasar. Untuk informasi selengkapnya, lihat "Pelengkapan Ulang" di Implementasi.

  • 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 Akses 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.

  • Ruang lingkup. Kelas berada dalam cakupan di seluruh ruang nama, kelas, struktur, atau modulnya.

    Cakupan setiap anggota kelas adalah seluruh kelas.

    Seumur hidup. Visual Basic tidak mendukung kelas statis. Setara fungsional dari kelas statis disediakan oleh modul. Untuk informasi selengkapnya, lihat Pernyataan Modul.

    Anggota kelas memiliki masa pakai tergantung pada bagaimana dan di mana mereka dideklarasikan. Untuk informasi selengkapnya, lihat Seumur Hidup di Visual Basic.

  • Kualifikasi. Kode di luar kelas harus memenuhi syarat nama anggota dengan nama kelas tersebut.

    Jika kode di dalam kelas berlapis membuat referensi yang tidak memenuhi syarat ke elemen pemrograman, Visual Basic mencari elemen terlebih dahulu di kelas berlapis, maka di kelas yang berisi, dan seterusnya ke bagian terluar yang berisi elemen.

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 Class pernyataan 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

Lihat juga