base: Digunakan untuk mengaktifkan akses ke anggota publik atau dilindungi dari kelas dasar di kelas turunan, tetapi hanya di konstruktor, metode instans, dan pengakses properti instans. Fitur khusus dari ringkasan di MSDN meliputi: (1) Panggil metode yang telah ditimpa oleh metode lain pada kelas dasar. (2) Tentukan konstruktor kelas dasar yang harus dipanggil saat membuat instans kelas turunan. base biasanya digunakan untuk berkomunikasi dengan kelas dasar saat objek kelas turunan diinisialisasi. Base dapat mengakses anggota kelas dasar publik dan dilindungi, dan anggota pribadi tidak dapat diakses. Dalam pewarisan multi-layer, ada dua situasi di mana base dapat menunjuk ke kelas induk: pertama, ketika ada kelebihan beban, base akan menunjuk ke metode anggota kelas induk yang mewarisi secara langsung; Dengan tidak adanya kelebihan beban, base dapat menunjuk ke metode publik atau dilindungi dari induk induk mana pun.
this: Instans saat ini yang digunakan untuk mereferensikan kelas, juga metode yang diwariskan, biasanya dapat menyembunyikan ini. Fitur ringkasan di MSDN terutama meliputi:
(1) Batasi anggota yang disembunyikan dengan nama yang sama (2) Teruskan objek sebagai parameter ke metode lain (3) Pengindeks deklarasi Ini mengacu pada objek kelas itu sendiri, yang digunakan untuk mengakses semua konstanta, bidang, atribut, dan anggota metode kelas, terlepas dari tingkat akses elemen akses. Karena ini hanya terbatas pada bagian dalam objek, dan tidak dapat dilihat di luar objek, ini adalah ide dasar dari ini. Selain itu, anggota statis bukan bagian dari objek, sehingga ini tidak dapat direferensikan dalam metode statis.
Aturan umum:
1. Gunakan alas dan ini sesedikit mungkin. Selain menghindari konflik nama subkelas dan memanggil konstruktor lain dalam satu konstruktor, penggunaan basis dan ini dapat menyebabkan hasil yang tidak diinginkan. 2. Penggunaan basis dan ini dalam anggota statis tidak diperbolehkan. Alasannya adalah bahwa base dan ini mengakses kedua instance kelas, yaitu objek, sedangkan anggota statis hanya dapat diakses oleh kelas, bukan objek. 3. Basis dirancang untuk mencapai polimorfisme. 4. Gunakan kata kunci ini atau dasar untuk menentukan hanya satu konstruktor, yang berarti bahwa ini dan base tidak dapat diterapkan ke konstruktor secara bersamaan. 5. Secara sederhana, basis digunakan untuk mengakses anggota kelas dasar yang ditulis ulang di kelas turunan; Ini digunakan untuk mengakses anggota kategori ini, tentu saja, termasuk kepemilikan publik yang diwariskan dan anggota yang dilindungi. 6. Selain basis, cara lain untuk mengakses anggota kelas dasar adalah dengan mengonversi jenis yang ditampilkan. Hanya saja metode tersebut tidak bisa berupa metode statis. |