Rumah >pembangunan bahagian belakang >C++ >Baru vs Override: Bilakah anda harus menggunakan setiap pengubah kaedah dalam warisan?
memahami watak pengubahsuaian
dan new
override
Dalam pengaturcaraan yang berorientasikan objek, mewarisi kaedah yang membolehkan kelas yang diperoleh untuk menggunakan semula dan mengubah suai kelas asas. Walau bagaimanapun,
adalah dua pengubah yang berbeza. new
override
Situasi 1: Gunakan kaedah warisan
new
Apabila menggunakan pengubah , kelas yang diperoleh membuat kaedah berasingan dengan nama yang sama dengan kaedah asas. Ini sebenarnya menyembunyikan keterlihatan kaedah kelas asas dalam derivatif. Pengekodan kelas asas secara langsung menggunakan pelaksanaan kaedah kelas asas, dan kod pengekodan yang merujuk kelas yang diperolehi akan menggunakan pelaksanaan kaedah kelas yang diperolehi.
pengubah new
Sebaliknya, pengubahsuaian kelas derivatif direka untuk menggantikannya dengan kaedah kelas asas dengan tandatangan yang sama. Ini bermakna apabila kaedah itu dipanggil pada rujukan kelas asas, ia akan sentiasa menggunakan realisasi definisi kelas derivatif.
override
Perbezaan utama
override
Terlihat:
Sembunyikan kaedah kelas asas, dan menggantikannya.
Panggilan dan analisis:new
Contoh: override
new
Contoh override
new
Dalam contoh ini, pengubah override
di kelas yang diperolehi memastikan bahawa apabila doit () dipanggil pada kelas yang diperolehi, ia akan melaksanakan realisasi definisi dalam diperolehi.doit, tanpa mengira jenis rujukan Jenis digunakan Atas ialah kandungan terperinci Baru vs Override: Bilakah anda harus menggunakan setiap pengubah kaedah dalam warisan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!