Kelas System.Object

Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.

Kelas Object adalah kelas dasar utama dari semua kelas .NET; itu adalah akar dari hierarki jenis.

Karena semua kelas dalam .NET berasal dari Object, setiap metode yang ditentukan dalam Object kelas tersedia di semua objek dalam sistem. Kelas turunan dapat dan melakukan penimpaan beberapa metode ini, termasuk:

  • Equals: Mendukung perbandingan antara objek.
  • Finalize: Melakukan operasi pembersihan sebelum objek diklaim kembali secara otomatis.
  • GetHashCode: Menghasilkan angka yang sesuai dengan nilai objek untuk mendukung penggunaan tabel hash.
  • ToString: Memproduksi string teks yang dapat dibaca manusia yang menjelaskan instans kelas.

Bahasa biasanya tidak memerlukan kelas untuk mendeklarasikan warisan karena Object pewarisannya implisit.

Pertimbangan performa

Jika Anda merancang kelas, seperti koleksi, yang harus menangani semua jenis objek, Anda dapat membuat anggota kelas yang menerima instans Object kelas. Namun, proses tinju dan membuka kotak jenis membawa biaya performa. Jika Anda tahu kelas baru Anda akan sering menangani jenis nilai tertentu, Anda dapat menggunakan salah satu dari dua taktik untuk meminimalkan biaya tinju.

  • Buat metode umum yang menerima Object jenis, dan sekumpulan kelebihan metode khusus jenis yang menerima setiap jenis nilai yang Anda harapkan sering ditangani kelas Anda. Jika ada metode khusus jenis yang menerima jenis parameter panggilan, tidak ada tinju yang terjadi dan metode khusus jenis dipanggil. Jika tidak ada argumen metode yang cocok dengan jenis parameter panggilan, parameter dikotak dan metode umum dipanggil.
  • Desain jenis Anda dan anggotanya untuk menggunakan generik. Runtime bahasa umum membuat jenis generik tertutup saat Anda membuat instans kelas Anda dan menentukan argumen jenis generik. Metode generik khusus jenis dan dapat dipanggil tanpa metinju parameter panggilan.

Meskipun terkadang perlu untuk mengembangkan kelas tujuan umum yang menerima dan mengembalikan Object jenis, Anda dapat meningkatkan performa dengan juga menyediakan kelas khusus jenis untuk menangani jenis yang sering digunakan. Misalnya, menyediakan kelas yang khusus untuk mengatur dan mendapatkan nilai Boolean menghilangkan biaya tinju dan membuka kotak nilai Boolean.