Sebahagian daripada kod dalam beberapa modul berfungsi adalah biasa Jika anda ingin mengubah suai salah satu fungsi, anda perlu mengubah suai kod biasa Bagaimana untuk mengelak daripada merosakkan fungsi lain apabila anda tidak pasti fungsi yang merujuk kod ini?< /p>
Abstraknya
Kemudian tulis berbilang kaedah untuk melaksanakan kaedah abstrak, dan titik fungsi yang berbeza melaksanakan logik perniagaan yang berbeza.
Cara paling mudah. Salin dan sebutkan secara berasingan.
Sebagai contoh, jika anda ingin mengubah suai kaedah A modul awam, dan terdapat modul lain yang turut menggunakan A, anda boleh menulis kaedah A1 yang lain dan bukannya mengubah suai A.
Anda boleh menulis ganti bahagian awam kod subkelas, dan anda boleh mengubah suai fungsi salah satu daripadanya sesuka hati
Buat kategori Gantikan kaedah ini dalam kategori Import kategori dalam fail ini.
Tulis subkelas untuk mewarisi kaedah awam ini, masukkan bahagian yang perlu diubah suai ke dalam subkelas, dan gunakan subkelas ini untuk modul sasaran.
Buat kaedah baharu. Satu cara untuk membungkus orang lain.
Jika pengubahsuaian anda mengubah tingkah laku kod asal, sebaiknya buat yang baharu
Jika kod baharu mempunyai banyak pertindihan dengan kod asal, anda boleh mempertimbangkan untuk mengekstrak bahagian yang boleh digunakan semula
Dua cara:
Tambah parameter jenis bendera pada kaedah, dan lakukan pemprosesan berbeza mengikut bendera berbeza dalam kaedah
Tulis semula satu kaedah lagi
Mari ubah suai kaedah itu dengan mengelaskannya