Pengenalan
Dalam pengaturcaraan berorientasikan objek, reka bentuk kelas memainkan peranan penting dalam mencipta kod yang mantap dan boleh diselenggara. Dengan keluaran Java 15, ciri baharu yang dipanggil kelas tertutup telah diperkenalkan, menambah lapisan kawalan dan keselamatan tambahan pada reka bentuk kelas. Kelas tertutup membenarkan pembangun menyekat hierarki kelas, menghalang kelas luaran daripada melanjutkan atau melaksanakannya. Dalam artikel ini, kita akan membincangkan konsep kelas tertutup, faedahnya dan cara ia boleh dilaksanakan di Jawa.
Apakah itu kelas tertutup?
Kelas tertutup ialah jenis kelas baharu yang diperkenalkan dalam Java 15, yang mengehadkan pewarisan dan pelaksanaan subkelasnya. Ia boleh dianggap sebagai bekas tertutup yang membenarkan hanya kelas tertentu untuk melanjutkan atau melaksanakannya. Setelah kelas diisytiharkan sebagai dimeterai, ia menjadi muktamad secara lalai dan sebarang percubaan untuk melanjutkan atau melaksanakannya oleh kelas luaran akan mengakibatkan ralat penyusunan.
Kelebihan menggunakan kelas tertutup
1. Keselamatan Dipertingkat: Kelas tertutup menyediakan lapisan keselamatan tambahan dengan mengehadkan pewarisan dan pelaksanaan subkelasnya. Ini menghalang pengubahsuaian kelas teras tanpa kebenaran dan memastikan bahawa hanya subkelas yang dipercayai boleh mengakses dan mengubah suai kelas yang dimeterai.
2. Kawalan Lebih Baik ke atas Hierarki Kelas: Dengan kelas tertutup, pembangun mempunyai kawalan yang lebih baik ke atas hierarki kelas. Dengan mentakrifkan subkelas yang dibenarkan secara eksplisit, kami boleh memastikan bahawa hanya kelas yang relevan dan direka bentuk dengan betul melanjutkan atau melaksanakan kelas yang dimeterai, yang membawa kepada pangkalan kod yang lebih boleh diselenggara.
3. Fleksibiliti Kod yang Dipertingkat: Dengan mengehadkan subkelas yang boleh melanjutkan atau melaksanakan kelas tertutup, kami boleh membuat perubahan atau pemfaktoran semula yang diperlukan tanpa perlu risau tentang memecahkan sebarang kod luaran. Ini memberikan rasa fleksibiliti semasa bekerja dengan kelas tertutup dan memastikan pangkalan kod kekal stabil dan boleh diselenggara.
Pelaksanaan Kelas Tertutup
Untuk mengisytiharkan kelas sebagai dimeterai, kita boleh menggunakan kata kunci 'tertutup' dalam pengisytiharan kelas seperti yang ditunjukkan di bawah:
//Sealed class declaration public sealed class Triangle permits EquilateralTriangle, RightAngleTriangle { //Class body }
Di sini, kata kunci 'permit' digunakan untuk menentukan subkelas yang dibenarkan untuk melanjutkan kelas yang dimeterai. Dalam contoh di atas, hanya kelas 'EquilateralTriangle' dan 'RightAngleTriangle' boleh melanjutkan kelas 'Triangle'.
Sekarang, mari buat subkelas yang boleh memanjangkan kelas 'Segitiga'.
//Example of Subclass that Extends Sealed Class public final class EquilateralTriangle extends Triangle { //Class body } //Example of Subclass that Extends Sealed Class public non-sealed class RightAngleTriangle extends Triangle { //Class body }
Perhatikan bahawa kelas 'EquilateralTriangle' diisytiharkan sebagai 'final' kerana ia merupakan subkelas terakhir dalam hierarki warisan, dan kelas 'RightAngleTriangle' diisytiharkan sebagai 'non-sealed' kerana ia membenarkan subclass selanjutnya memanjangkannya.
Seterusnya, mari lihat contoh pelaksanaan antara muka tertutup. Antara muka boleh diisytiharkan sebagai dimeterai menggunakan sintaks yang sama seperti kelas yang dimeterai.
//Sealed class declaration public sealed class Triangle permits EquilateralTriangle, RightAngleTriangle { //Class body }
Di sini, kata kunci 'permit' digunakan untuk menentukan kelas yang dibenarkan untuk melaksanakan antara muka yang dimeterai. Dalam contoh di atas, hanya kelas 'Rectangle' dan 'Circle' boleh melaksanakan antara muka 'Shape'.
//Example of Subclass that Extends Sealed Class public final class EquilateralTriangle extends Triangle { //Class body } //Example of Subclass that Extends Sealed Class public non-sealed class RightAngleTriangle extends Triangle { //Class body }
Perhatikan bahawa kelas 'Rectangle' diisytiharkan sebagai 'final' kerana ia adalah kelas terakhir untuk melaksanakan antara muka 'Shape', dan kelas 'Circle' diisytiharkan sebagai 'non-sealed' kerana ia membenarkan kelas selanjutnya untuk melaksanakannya.
Peraturan warisan untuk kelas dan antara muka tertutup
Kesimpulan
Kelas tertutup ialah tambahan hebat kepada Java yang boleh meningkatkan reka bentuk kelas dengan hebat dan menjadikan pangkalan kod lebih selamat dan boleh diselenggara. Dengan mengehadkan hierarki kelas dan antara muka, kelas tertutup menyediakan lapisan kawalan dan fleksibiliti tambahan semasa mereka bentuk kelas. Dengan ciri baharu ini, pembangun boleh memastikan bahawa hanya subkelas yang dipercayai atau kelas pelaksana boleh mengakses dan mengubah suai kelas yang dimeterai, yang membawa kepada pangkalan kod yang lebih stabil dan mantap. Tingkatkan kemahiran Java anda dengan mengambil Pensijilan Java terkini.
Atas ialah kandungan terperinci Reka Bentuk Kelas Lanjutan menggunakan Kelas Tertutup Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!