Bagikan melalui


Cara untuk: Membuat Properti (Visual Basic)

Anda menyertakan penentuan properti antara pernyataan Propertydan pernyataan End Property. Dalam penentuan ini Anda menetapkan prosedur Get, prosedurSet, atau keduanya. Semua kode properti terletak dalam prosedur ini.

Prosedur Get mengambil nilai properti, dan prosedur Set menyimpan nilai. Jika Anda ingin properti memiliki akses baca/tulis, Anda harus menentukan kedua prosedur. Untuk properti baca-saja, Anda hanya menentukan Get, dan untuk properti tulis-saja, Anda hanya menentukan Set.

Untuk membuat properti

  1. Di luar properti atau prosedur apa pun, gunakan Pernyataan Properti, diikuti dengan pernyataan End Property.

  2. Jika properti memerlukan parameter, ikuti kata kunci Property dengan nama prosedur, lalu daftar parameter dalam tanda kurung.

  3. Ikuti tanda kurung dengan klausul As untuk menentukan jenis data nilai properti. Anda harus menentukan jenis data bahkan untuk properti tulis-saja.

  4. Tambahkan prosedur Get dan Set, yang sesuai. Lihat petunjuk berikut.

Untuk membuat prosedur Get yang mengambil nilai properti

  1. Di antara pernyataan Property dan End Property, tulis Pernyataan Get, diikuti dengan pernyataan End Get. Anda tidak perlu menentukan parameter apa pun untuk prosedur Get.

  2. Tempatkan pernyataan kode untuk mendapatkan nilai properti antara pernyataan Get dan End Get. Kode ini dapat mencakup perhitungan lain dan manipulasi data selain menghasilkan dan mengembalikan nilai properti.

  3. Gunakan pernyataan Return untuk mengembalikan nilai properti ke kode panggilan.

Anda harus menulis prosedur Get untuk properti baca-tulis dan untuk properti baca-saja. Anda tidak boleh menentukan prosedur Get untuk properti tulis-saja.

Untuk membuat prosedur Set yang menulis nilai properti

  1. Di antara pernyataan Property dan End Property, tulis Pernyataan Set, diikuti dengan pernyataan End Set.

  2. Set Dalam pernyataan, secara opsional ikuti Set kata kunci dengan daftar parameter dalam tanda kurung. Jika daftar parameter tidak ada atau kosong, parameter implisit bernama Value ditentukan, yang jenisnya adalah jenis properti itu sendiri. Jika daftar parameter tidak kosong, Anda dapat menggunakan nama yang berbeda jika sesuai, tetapi parameter harus memiliki jenis data yang sama dengan properti itu sendiri.

  3. Tempatkan pernyataan kode untuk menyimpan nilai di properti antara pernyataan Set dan End Set. Kode ini dapat mencakup perhitungan lain dan manipulasi data selain memvalidasi dan menyimpan nilai properti.

  4. Gunakan parameter nilai untuk menerima nilai yang disediakan oleh kode panggilan. Anda dapat menyimpan nilai ini secara langsung dalam pernyataan penugasan, atau menggunakannya dalam ekspresi untuk menghitung nilai internal yang akan disimpan.

Anda harus menulis prosedur Set untuk properti baca-tulis dan untuk properti tulis-saja. Anda tidak boleh menentukan prosedur Set untuk properti baca-saja.

Contoh

Contoh berikut membuat properti baca/tulis yang 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 menunjukkan panggilan umum ke prosedur properti fullName. Panggilan pertama mengatur nilai properti dan panggilan kedua mendapatkannya.

fullName = "MyFirstName MyLastName"
MsgBox(fullName)

Lihat juga