Bagikan melalui


Jenis Data Objek

Menyimpan alamat yang merujuk ke objek. Anda dapat menetapkan jenis referensi apa pun (string, array, kelas, atau antarmuka) ke suatu variabel Object. Variabel Object juga dapat merujuk ke data dari jenis nilai apa pun (numerik, Boolean, Char, Date, struktur, atau enumerasi).

Keterangan

Jenis Object data dapat menunjuk ke data dari jenis data apa pun, termasuk instans objek apa pun yang dikenali aplikasi Anda. Gunakan Object saat Anda tidak tahu pada waktu kompilasi jenis data apa yang mungkin ditunjuk variabel tersebut.

Nilai default Object adalah Nothing (referensi null).

Jenis Data

Anda dapat menetapkan variabel, konstanta, atau ekspresi jenis data apa pun ke variabel Object. Untuk menentukan jenis data yang saat ini dirujuk oleh variabel Object, Anda dapat menggunakan metode GetTypeCode dari kelas System.Type. Contoh berikut mengilustrasikan langkah-langkah ini:

Dim myObject As Object
' Suppose myObject has now had something assigned to it.
Dim datTyp As Integer
datTyp = Type.GetTypeCode(myObject.GetType())

Jenis data Object juga merupakan jenis referensi. Namun, Visual Basic memperlakukan variabel Object sebagai jenis nilai saat mengacu pada data dari jenis nilai.

Penyimpanan

Apa pun jenis data yang dirujuknya, variabel Object tidak berisi nilai data itu sendiri, melainkan penunjuk ke nilai. Ini selalu menggunakan empat byte dalam memori komputer, tetapi ini tidak termasuk penyimpanan data yang mewakili nilai variabel. Karena kode yang menggunakan penunjuk untuk menemukan data, variabel Object yang menyimpan jenis nilai sedikit lebih lambat untuk diakses daripada variabel yang diketik secara eksplisit.

Tips Pemrograman

  • Pertimbangan Interop. Jika Anda berinteraksi dengan komponen yang tidak ditulis untuk .NET Framework, misalnya objek Automasi atau COM, perlu diingat bahwa jenis penunjuk di lingkungan lain tidak kompatibel dengan jenis Visual BasicObject.

  • Performa. Variabel yang Anda nyatakan dengan jenis Object cukup fleksibel untuk memuat referensi ke objek apa pun. Namun, ketika Anda memanggil metode atau properti pada variabel semacam itu, Anda selalu mengalami pengikatan terlambat (pada durasi). Untuk memaksa pengikatan dini (pada waktu kompilasi) dan performa yang lebih baik, nyatakan variabel dengan nama kelas tertentu, atau transmisikan ke jenis data tertentu.

    Saat Anda mendeklarasikan variabel objek, coba gunakan jenis kelas tertentu, misalnya OperatingSystem, alih-alih jenis umum Object. Anda juga harus menggunakan kelas paling spesifik yang tersedia, seperti TextBox alih-alih Control, sehingga Anda dapat mengakses properti dan metodenya. Anda biasanya dapat menggunakan daftar Kelas di Browser Objek untuk menemukan nama kelas yang tersedia.

  • Pelebaran. Semua jenis data dan semua jenis referensi melebar ke jenis data Object. Artinya Anda dapat mengonversi jenis apa pun menjadi Object tanpa mengalami kesalahan System.OverflowException.

    Namun, bila Anda mengonversi antara jenis nilai dan Object, maka Visual Basic melakukan operasi yang disebut boxing dan unboxing, yang membuat eksekusi menjadi lebih lambat.

  • Ketik Karakter. Object tidak memiliki karakter jenis harfiah atau karakter jenis pengidentifikasi.

  • Jenis Kerangka. Jenis yang sesuai dalam .NET Framework adalah kelas System.Object.

Contoh

Contoh berikut mengilustrasikan variabel Object yang menunjuk ke instans objek.

Dim objDb As Object
Dim myCollection As New Collection()
' Suppose myCollection has now been populated.
objDb = myCollection.Item(1)

Lihat juga