Prosedur Properti (Visual Basic)
Prosedur properti adalah serangkaian pernyataan Visual Basic yang memanipulasi properti kustom pada modul, kelas, atau struktur. Prosedur properti juga dikenal sebagai pengakses properti.
Visual Basic menyediakan prosedur properti berikut ini:
- Prosedur
Get
mengembalikan nilai properti. Prosedur ini dipanggil ketika Anda mengakses properti dalam ekspresi. - Prosedur
Set
menetapkan properti ke nilai, termasuk referensi objek. Prosedur ini dipanggil ketika Anda menetapkan nilai ke properti.
Anda biasanya menentukan prosedur properti secara berpasangan, menggunakan pernyataan Get
dan Set
, tetapi Anda dapat menentukan salah satu prosedur saja jika propertinya bersifat baca-saja (Dapatkan Pernyataan) atau tulis-saja (Atur Pernyataan).
Anda dapat menghilangkan prosedur Get
dan Set
saat menggunakan properti yang diterapkan secara otomatis. Untuk informasi selengkapnya, lihat Properti yang Diterapkan Secara Otomatis.
Anda bisa menentukan properti di kelas, struktur, dan modul. Properti adalah Public
secara default, yang berarti Anda dapat memanggilnya dari mana saja di aplikasi Anda yang dapat mengakses kontainer properti.
Untuk perbandingan properti dan variabel, lihat Perbedaan Antara Properti dan Variabel pada Visual Basic.
Sintaks deklarasi
Properti itu sendiri didefinisikan oleh blok kode yang diapit dalam pernyataan Pernyataan Properti dan End Property
. Di dalam blok ini, setiap prosedur properti muncul sebagai blok internal yang diapit dalam pernyataan deklarasi (Get
atau Set
) dan deklarasi End
yang cocok.
Sintaks untuk mendeklarasikan properti dan prosedurnya adalah sebagai berikut:
[Default] [Modifiers] Property PropertyName[(ParameterList)] [As DataType]
[AccessLevel] Get
' Statements of the Get procedure.
' The following statement returns an expression as the property's value.
Return Expression
End Get
[AccessLevel] Set[(ByVal NewValue As DataType)]
' Statements of the Set procedure.
' The following statement assigns newvalue as the property's value.
LValue = NewValue
End Set
End Property
' - or -
[Default] [Modifiers] Property PropertyName [(ParameterList)] [As DataType]
Modifiers
dapat menentukan tingkat akses dan informasi mengenai kelebihan beban, pengambilalihan, berbagi, dan bayangan, serta apakah propertinya baca-saja atau tulis-saja. Prosedur AccessLevel
pada Get
atau Set
dapat berada pada tingkat apa pun yang lebih ketat daripada tingkat akses yang ditentukan untuk properti itu sendiri. Untuk informasi selengkapnya, lihat Pernyataan Properti.
Jenis Data
Jenis data properti dan tingkat akses utama didefinisikan dalam pernyataan Property
, bukan dalam prosedur properti. Properti hanya bisa memiliki satu tipe data. Misalnya, Anda tidak bisa menentukan properti untuk menyimpan nilai Decimal
tetapi mengambil nilai Double
.
Tingkat Akses
Namun, Anda bisa menentukan tingkat akses utama untuk properti dan selanjutnya membatasi tingkat akses di salah satu prosedur propertinya. Misalnya, Anda bisa menentukan properti Public
lalu menentukan prosedur Private Set
. Prosedur Get
tetap Public
. Anda bisa mengubah tingkat akses hanya dalam salah satu prosedur properti, dan Anda hanya dapat membuatnya lebih ketat daripada tingkat akses utama. Untuk informasi selengkapnya, lihat Cara: Mendeklarasikan Properti dengan Tingkat Akses Campuran.
Deklarasi parameter
Anda mendeklarasikan setiap parameter dengan cara yang sama seperti yang Anda lakukan untuk Sub Prosedur, kecuali bahwa mekanisme kelulusan harus ByVal
.
Sintaks untuk setiap parameter dalam daftar parameter adalah sebagai berikut:
[Optional] ByVal [ParamArray] parametername As datatype
Jika parameter bersifat opsional, Anda juga harus memberikan nilai default sebagai bagian dari deklarasinya. Sintaks untuk menentukan nilai default adalah sebagai berikut:
Optional ByVal parametername As datatype = defaultvalue
Nilai properti
Dalam prosedur Get
, nilai pengembalian diberikan ke ekspresi panggilan sebagai nilai properti.
Dalam prosedur Set
, nilai properti baru diteruskan ke parameter pernyataan Set
. Jika Anda secara eksplisit mendeklarasikan parameter, Anda harus mendeklarasikannya dengan tipe data yang sama dengan properti. Jika Anda tidak mendeklarasikan parameter, pengkompilasi menggunakan parameter Value
implisit untuk mewakili nilai baru yang akan ditetapkan ke properti.
Sintaks Panggilan
Anda meminta prosedur properti secara implisit dengan membuat rujukan ke properti. Anda menggunakan nama properti dengan cara yang sama seperti Anda akan menggunakan nama variabel, kecuali bahwa Anda harus memberikan nilai untuk semua argumen yang tidak opsional, dan Anda harus melampirkan daftar argumen menggunakan tanda kurung. Jika tidak ada argumen disediakan, Anda dapat menghilangkan tanda kurung secara opsional.
Sintaks untuk panggilan implisit ke prosedur Set
adalah sebagai berikut:
propertyname[(argumentlist)] = expression
Sintaks untuk panggilan implisit ke prosedur Get
adalah sebagai berikut:
lvalue = propertyname[(argumentlist)]
Do While (propertyname[(argumentlist)] > expression)
Ilustrasi Deklarasi dan Panggilan
Properti berikut ini menyimpan nama lengkap sebagai dua nama konstituen, nama depan dan nama belakang. Ketika kode panggilan berbunyi fullName
, prosedur Get
menggabungkan dua nama konstituen dan mengembalikan nama lengkap. Ketika kode panggilan menetapkan nama lengkap baru, prosedur Set
mencoba memecahnya menjadi dua nama konstituen. Jika tidak menemukan ruang, prosedur menyimpan semuanya sebagai nama depan.
Dim firstName, lastName As String
Property fullName() As String
Get
If lastName = "" Then
Return firstName
Else
Return firstName & " " & lastName
End If
End Get
Set(ByVal Value As String)
Dim space As Integer = Value.IndexOf(" ")
If space < 0 Then
firstName = Value
lastName = ""
Else
firstName = Value.Substring(0, space)
lastName = Value.Substring(space + 1)
End If
End Set
End Property
Contoh berikut ini menunjukkan panggilan umum ke prosedur properti fullName
:
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
Lihat juga
- Prosedur
- Prosedur Fungsi
- Prosedur Operator
- Parameter Prosedur dan Argumen
- Perbedaan Antara Properti dan Variabel di Visual Basic
- Cara: Membuat Properti
- Cara: Memanggil Prosedur Properti
- Cara: Mendeklarasikan dan Memanggil Properti Default di Visual Basic
- Cara: Menempatkan Nilai di Properti
- Cara: Mendapatkan Nilai dari Properti
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk