"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Les énumérations Java peuvent-elles être étendues avec de nouveaux éléments ?

Les énumérations Java peuvent-elles être étendues avec de nouveaux éléments ?

Publié le 2024-12-11
Parcourir:893

Can Java Enumerations Be Extended with New Elements?

Extension des énumérations avec de nouveaux éléments

En Java, il n'est pas possible de créer une sous-classe d'une énumération et d'y ajouter des éléments supplémentaires. En effet, les énumérations représentent un ensemble fermé de valeurs spécifiques, et les étendre violerait ce principe.

Si vous essayez de définir une énumération comme celle-ci :

enum A {a,b,c}

enum B extends A {d}

Le compilateur signalera une erreur, indiquant que vous ne pouvez pas étendre une énumération.

Au lieu de sous-classer une énumération, envisagez d'utiliser des approches alternatives pour obtenir la fonctionnalité souhaitée. Par exemple, vous pouvez créer une nouvelle énumération avec les éléments supplémentaires dont vous avez besoin :

enum C {a,b,c,d}

Vous pouvez également utiliser une structure de données comme une liste ou une carte pour stocker les éléments supplémentaires séparément de l'énumération existante.

En fin de compte, la solution appropriée dépend des exigences spécifiques de votre cas d'utilisation. En explorant des approches alternatives, vous pouvez obtenir les fonctionnalités dont vous avez besoin sans violer les principes de conception des énumérations en Java.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3