Rumah  >  Artikel  >  Java  >  Cara menggunakan Kelas Termeterai untuk menyekat pewarisan dan pelaksanaan kelas dalam Java 14

Cara menggunakan Kelas Termeterai untuk menyekat pewarisan dan pelaksanaan kelas dalam Java 14

WBOY
WBOYasal
2023-07-30 23:08:051295semak imbas

Cara menggunakan Kelas Termeterai untuk menyekat pewarisan dan pelaksanaan kelas dalam Java 14

Memandangkan Java terus berkembang, versi baharu dilancarkan secara berterusan, menyediakan pembangun dengan ciri dan alatan yang lebih berkuasa untuk meningkatkan kebolehbacaan dan Kebolehselenggaraan kod. Di Java 14, konsep Kelas Termeterai diperkenalkan, mekanisme yang menyekat pewarisan dan pelaksanaan kelas. Artikel ini akan memperkenalkan secara terperinci cara menggunakan Kelas Tertutup dan senario aplikasi praktikalnya.

  1. Apakah itu Kelas Tertutup?
    Kelas Tertutup ialah mekanisme yang mengehadkan pewarisan dan pelaksanaan kelas. Dengan menambahkan kata kunci yang dimeterai sebelum definisi kelas atau antara muka, anda boleh menentukan julat subkelas atau kelas pelaksanaan kelas atau antara muka. Hanya subkelas atau kelas pelaksanaan dalam skop ini boleh mewarisi atau melaksanakan kelas atau antara muka, manakala kelas di luar skop tidak boleh mewarisi atau melaksanakannya. Ini boleh mengelakkan penyalahgunaan atau penyalahgunaan kelas dan meningkatkan keselamatan dan kestabilan kod.
  2. Cara menggunakan Kelas Termeterai
    Sebelum menentukan Kelas Termeterai, anda perlu menentukan Antara Muka Termeterai atau kelas abstrak biasa. Antara Muka Termeterai atau kelas abstrak ini memainkan peranan dalam mengehadkan skop dan mentakrifkan kelas yang boleh mewarisi atau melaksanakan kelas atau antara muka. Seterusnya, anda boleh menggunakan kata kunci yang dimeterai untuk mentakrifkan kelas atau antara muka Contoh kod adalah seperti berikut:
public sealed class Animal permits Cat, Dog, Bird {
    // class body
}

public final class Cat extends Animal {
    // class body
}

public final class Dog extends Animal {
    // class body
}

public final class Bird extends Animal {
    // class body
}

public class InvalidClass extends Animal {
    // compile error: InvalidClass is not allowed to extend Animal
}

Dalam kod di atas, Haiwan Kelas Termeterai ditakrifkan. Dan melalui kata kunci permit, subkelas kelas ini ditakrifkan sebagai Kucing, Anjing dan Burung, manakala kelas InvalidClass melebihi skop dan tidak boleh mewarisi kelas Haiwan.

  1. Ciri-ciri dan had Kelas Tertutup
  2. Kelas Termeterai boleh menjadi kelas akhir, iaitu sambungan subkelas tidak dibenarkan.
  3. Kelas Tertutup boleh mengandungi kaedah abstrak, tetapi kaedah dengan pelaksanaan lalai tidak dibenarkan.
  4. Apabila mentakrifkan Kelas Termeterai sebagai kelas bukan akhir tetapi tidak menentukan subkelas, semua subkelas langsung mesti diisytiharkan dalam fail sumber yang sama.
  5. Subkelas Kelas Termeterai mesti ditakrifkan dalam pakej yang sama dengan kelas induk.
  6. Subkelas tidak langsung Kelas Termeterai mestilah kelas akhir.
  7. Senario aplikasi praktikal Kelas Tertutup
    Kelas Termeterai mempunyai banyak senario aplikasi dalam pembangunan sebenar Berikut ialah beberapa contoh:
  • Dalam mod mesin keadaan, anda boleh menggunakan Kelas Termeterai untuk menentukan set keadaan terhad. menyatakan Warisan dan pelaksanaan memastikan bahawa hanya keadaan yang ditentukan boleh digunakan.

    public sealed class State permits Waiting, Running, Closed {
      // class body
    }
    
    public final class Waiting extends State {
      // class body
    }
    
    public final class Running extends State {
      // class body
    }
    
    public final class Closed extends State {
      // class body
    }
    
    public final class InvalidState extends State {
      // compile error: InvalidState is not allowed to extend State
    }
  • Dalam pembangunan rangka kerja dan perpustakaan, Kelas Termeterai boleh digunakan untuk menyekat pewarisan dan pelaksanaan kelas tertentu untuk memastikan logik teras rangka kerja tidak akan diubah.

    public sealed class CoreLibrary permits Util, Helper, Logger {
      // class body
    }
    
    public final class Util extends CoreLibrary {
      // class body
    }
    
    public final class Helper extends CoreLibrary {
      // class body
    }
    
    public final class Logger extends CoreLibrary {
      // class body
    }
    
    public final class InvalidLibrary extends CoreLibrary {
      // compile error: InvalidLibrary is not allowed to extend CoreLibrary
    }

Seperti yang anda lihat daripada contoh di atas, Kelas Termeterai membawa lebih kawalan ke atas pewarisan dan pelaksanaan kelas kepada pembangun Java, yang boleh meningkatkan keselamatan dan kestabilan kod serta mengelakkan penyalahgunaan dan penyalahgunaan kelas. Walau bagaimanapun, perlu diingatkan bahawa Kelas Tertutup tidak sesuai untuk semua senario dan masih perlu digunakan dengan berhati-hati berdasarkan keperluan sebenar.

Ringkasan:
Artikel ini menerangkan cara menggunakan Kelas Termeterai untuk menyekat pewarisan dan pelaksanaan kelas dalam Java 14. Dengan menggunakan kata kunci yang dimeterai dan mentakrifkan kata kunci permit, anda boleh mengehadkan skop kelas dan mengelakkan penyalahgunaan dan penyalahgunaan kelas. Pada masa yang sama, kami juga membincangkan ciri dan batasan Kelas Tertutup, serta senario aplikasi praktikal. Dalam pembangunan sebenar, penggunaan Kelas Tertutup yang munasabah boleh meningkatkan keselamatan dan kestabilan kod, menjadikan kod lebih mudah difahami dan diselenggara.

Atas ialah kandungan terperinci Cara menggunakan Kelas Termeterai untuk menyekat pewarisan dan pelaksanaan kelas dalam Java 14. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn