Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Perbezaan antara kaedah mengatasi dan kaedah menyembunyikan dalam C#

Perbezaan antara kaedah mengatasi dan kaedah menyembunyikan dalam C#

WBOY
WBOYke hadapan
2023-09-16 21:01:021535semak imbas

C# 中方法重写和方法隐藏的区别

Dalam C#, terdapat dua mekanisme untuk mentakrifkan semula atau menyediakan pelaksanaan baharu kaedah kelas induk melalui subkelas, kedua-dua mekanisme ini dipanggil method overriding dan method hiding. Sekarang berdasarkan cara kaedah itu dilaksanakan semula, kita boleh membezakannya.

Berikut ialah perbezaan penting antara kaedah mengatasi dan menyembunyikan kaedah. Nombor siri kelas induk dan subkelas Mempunyai kaedah yang sama, termasuk parameter dan tandatangan, dan apabila ia dipanggil menggunakan objek subkelas, pelaksanaan dalam subkelas dipanggil.

Sebaliknya, penyembunyian kaedah boleh ditakrifkan sebagai teknik di mana pengguna boleh mentakrifkan semula kaedah kelas asas atau kelas induk menggunakan kata kunci baharu, dengan itu menyembunyikan pelaksanaan asas utama kaedah tertentu itu oleh kelas asas. 2Akses pelaksanaan kelas indukDalam mengatasi kaedah, subkelas boleh mengakses pelaksanaan kaedah kelas induk. Dalam penyembunyian kaedah, pelaksanaan kaedah kelas induk tidak boleh diakses melalui rujukan subkelas. 3Penggunaan pengubah suai Dalam mengatasi kaedah, gunakan kata kunci ganti. Dalam penyembunyian kaedah, gunakan kata kunci baharu untuk menentukan pelaksanaan baharu dalam subkelas. 4Jenis pelaksanaanDalam mengatasi kaedah, jenis pelaksanaan kaedah ialah jenis objek. Walau bagaimanapun, dalam penyembunyian kaedah, jenis pelaksanaan kaedah adalah jenis rujukan. 5Rujukan dari kelas induk ke kelas anakDalam mengatasi kaedah, apabila pembolehubah rujukan kelas induk menghala ke objek kelas anak, ia akan memanggil kaedah yang diganti dalam kelas anak. Sebaliknya, dalam kaedah menyembunyikan, apabila pembolehubah rujukan kelas induk menghala ke objek kelas anak, ia akan memanggil kaedah tersembunyi dalam kelas induk. 6TujuanPenggantian kaedah hanya mentakrifkan semula pelaksanaan kaedah. Kaedah menyembunyikan boleh mentakrifkan semula kaedah sepenuhnya.

Atas ialah kandungan terperinci Perbezaan antara kaedah mengatasi dan kaedah menyembunyikan dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam