Comment utiliser les classes scellées pour restreindre l'héritage et l'implémentation de classes dans Java 14
À mesure que Java continue de se développer, de nouvelles versions sont continuellement lancées, offrant aux développeurs des fonctionnalités et des outils plus puissants pour améliorer la lisibilité et la maintenabilité du code. Dans Java 14, le concept de classes scellées a été introduit, un mécanisme qui restreint l'héritage et l'implémentation des classes. Cet article présentera en détail comment utiliser les classes scellées et ses scénarios d'application pratiques.
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 }
Dans le code ci-dessus, un animal de classe scellé est défini. Et grâce au mot-clé permits, les sous-classes de cette classe sont définies comme Cat, Dog et Bird, tandis que la classe InvalidClass dépasse la portée et ne peut pas hériter de la classe Animal.
En mode machine à états, vous pouvez utiliser les classes scellées pour définir un ensemble limité d'états et limiter les états. states L'héritage et l'implémentation garantissent que seul l'état spécifié peut être utilisé.
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 }
Dans le développement de frameworks et de bibliothèques, les classes scellées peuvent être utilisées pour restreindre l'héritage et l'implémentation de certaines classes afin de garantir que la logique de base du framework ne sera pas modifiée.
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 }
Comme vous pouvez le voir dans les exemples ci-dessus, les classes scellées apportent plus de contrôle sur l'héritage et l'implémentation des classes aux développeurs Java, ce qui peut améliorer la sécurité et la stabilité du code et éviter les abus et la mauvaise utilisation des classes. Cependant, il convient de noter que les classes scellées ne conviennent pas à tous les scénarios et doivent néanmoins être utilisées avec prudence en fonction des besoins réels.
Résumé :
Cet article explique comment utiliser les classes scellées pour restreindre l'héritage et l'implémentation de classes dans Java 14. En utilisant le mot-clé scellé et en définissant le mot-clé permits, vous pouvez limiter la portée de la classe et éviter les abus et les utilisations inappropriées de la classe. Dans le même temps, nous avons également discuté des caractéristiques et des limites des classes scellées, ainsi que des scénarios d'application pratiques. Dans le développement réel, l'utilisation rationnelle des classes scellées peut améliorer la sécurité et la stabilité du code, rendant le code plus facile à comprendre et à maintenir.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!