Isi kandungan:
Takrifan - Apa maksud Penindasan?
Override, dalam C #, adalah kata kunci yang digunakan untuk menggantikan ahli maya yang ditakrifkan dalam kelas asas dengan definisi ahli itu dalam kelas yang diturunkan.
Pengubahsuaian menimpa membolehkan pengatur cara menentukan pengkhususan ahli maya sedia ada yang diwarisi dari kelas asas untuk menyediakan pelaksanaan baru anggota itu dalam kelas yang diturunkan. Ia boleh digunakan dengan kaedah, harta, pengindeks atau peristiwa yang perlu diubah suai atau dilanjutkan dalam kelas yang diturunkan.
Pengubah override ini bertujuan untuk melaksanakan konsep polimorfisme dalam C #.
Override berbeza daripada modifiers baru yang digunakan hanya untuk mengatasi ahli maya kelas asas manakala yang kedua juga membantu untuk menimpakan ahli bukan maya yang ditakrifkan dalam kelas asas dengan menyembunyikan definisi yang terkandung dalam kelas asas.
Techopedia menerangkan Override
Override kebanyakannya digunakan dalam konteks cara maya, di mana pelaksanaan jenis metode ditentukan oleh jenis runtime contoh di mana metode tersebut digunakan. Semasa pemanggilan, pemanggil tidak perlu tahu bahawa objek yang dipanggil adalah contoh kelas yang diturunkan.
Sebagai contoh, jika Shape adalah kelas asas yang menyediakan pelaksanaan asas yang biasa untuk semua objek kelasnya, ia boleh ditakrifkan dengan kaedah maya, KiraArea. Square boleh menjadi kelas yang diperolehi dari Bentuk, yang boleh mengatasi Kaedah Kalkulator untuk melaksanakan logik yang diperlukan untuk mengira kawasan persegi.
Untuk mengatasi kaedah dalam kelas yang diturunkan:
- Kaedah dalam kelas asas perlu diisytiharkan dengan pengubah maya.
- Kaedah di kelas asas boleh abstrak tetapi tidak statik.
- Pengubahsuaian akses kaedah dalam kedua-dua kelas asas dan yang diperolehi mestilah sama.
- Kaedah ini harus ditakrifkan dengan tandatangan yang sama di kedua kelas asal dan asas.
