Je lis le tutoriel java pour les énumérations situés ici et une question: http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html#CardQuestion sur la propriété singleton
La partie que je suis confus au sujet est la suivante:
« La classe de carte, ci-dessus, contient une usine statique qui retourne une plate-forme, mais il n'y a pas moyen d'obtenir une carte individuelle de son rang et costume. le simple fait d'exposer le constructeur détruirait la propriété singleton (que seule une seule instance de chaque carte est autorisée à exister). Voici comment d'écrire une usine statique qui conserve la propriété singleton, en utilisant un EnumMap imbriqué: "
Maintenant que je comprends, en changeant le privé original « constructeur de la carte » pour le public nous permettrait d'instancier une Un nombre illimité de copies d'un objet "Carte" avec un costume + un rang donné La solution proposée était de créer un EnumMap qui stockerait quatre Cartes (une pour chaque combinaison), qui contenaient elles-mêmes 13 objets Carte avec le rang comme clés Et maintenant, si vous vouliez récupérer un objet Card spécifique du deck, vous n'appeliez que la méthode "valueOf". vous empêcher d'appeler la méthode valueOf autant de fois que vous le souhaitez? Cela ne conduirait-il pas au même problème que de rendre public le constructeur privé original?
Merci.