Passer au contenu principal
ArithmétiqueNotion · Glossaire

singleton

En théorie des ensembles, un singleton est un ensemble qui contient exactement un élément distinct, autrement dit un ensemble de cardinalité 1. En informatique, le patron de conception Singleton garantit qu’une classe ne possède qu’une seule instance dans un périmètre d’exécution donné et fournit un point d’accès à celle-ci.
Un singleton représenté par l'ensemble S contenant l'élément a Une ellipse jaune nommée S contient un unique disque rouge nommé a. La cardinalité de S vaut 1. S a |S| = 1
La frontière délimite l'ensemble S ; le seul élément distinct qu'elle contient est a, donc |S| = 1.
Sommaire

Ce que vous allez apprendre

  • Reconnaître un singleton en vérifiant que sa cardinalité vaut 1.
  • Distinguer l'élément a de l'ensemble singleton {a}.
  • Comprendre pourquoi répéter a dans une écriture ne crée pas un nouvel élément.
  • Séparer le sens ensembliste du patron Singleton employé en informatique.

En clair

Imaginez une boîte étiquetée S qui contient un unique jeton marqué a. Peu importe la forme du jeton : ce qui compte est que la boîte rassemble exactement un élément distinct. L'ensemble S est alors le singleton {a}.
En informatique, le même mot exprime une autre idée d'unicité. Le patron Singleton organise une classe pour qu'un programme n'en utilise qu'une seule instance et retrouve toujours cet objet par un point d'accès commun.

Définition

En théorie des ensembles, un singleton est un ensemble S qui possède exactement un élément distinct. Si cet élément est l'objet a, on écrit S = {a}. La cardinalité, c'est-à-dire le nombre d'éléments de S, vérifie alors S=1\lvert S\rvert=1. Cette propriété caractérise le singleton : tout ensemble de cardinalité 1 en est un.
L'objet a peut être un nombre, un ensemble ou tout autre objet admis dans le cadre considéré. Les accolades décrivent l'ensemble qui contient a ; elles ne font pas partie de a. Comme un ensemble ne compte pas les répétitions, les écritures {a} et {a, a} décrivent le même singleton. Sa cardinalité est la plus petite cardinalité finie non nulle. Les singletons interviennent notamment dans des constructions ensemblistes des entiers naturels, selon la représentation choisie.
En informatique, Singleton nomme un patron de conception, et non un ensemble. Une classe contrôle alors sa création afin qu'une seule instance soit disponible pendant l'exécution considérée, tout en fournissant un point d'accès global à cet objet. L'unicité porte donc sur une instance de classe dans le périmètre technique retenu.

Un exemple, pas à pas

Une boîte S contient un jeton marqué a. Les données sont les suivantes : la boîte représente un ensemble ; le jeton représente l'objet a ; aucun autre objet distinct n'est présent.
1. Écrivons le contenu de la boîte entre accolades : S = {a}.
2. Comptons les éléments distincts présents. Il n'y en a qu'un : a.
3. La cardinalité de S vaut donc S=1\lvert S\rvert=1. Par définition, S est un singleton.
4. Pour contrôler le résultat, ajoutons une seconde occurrence du même jeton a dans l'écriture : {a, a} = {a}. Le nombre d'éléments distincts reste 1. En revanche, l'ajout d'un objet b différent de a donnerait {a, b}, de cardinalité 2, qui ne serait plus un singleton.

En pratique

Dans un raisonnement ensembliste, {a} permet d'isoler un objet tout en le traitant comme un ensemble. Si aucun objet ne convient, il faut employer l'ensemble vide ; si plusieurs objets distincts conviennent, il faut les réunir dans un ensemble de cardinalité supérieure.
Pour construire formellement des entiers naturels à partir d'ensembles, les singletons participent à certaines représentations. Il faut toutefois annoncer la construction choisie, car la notation d'un entier par un ensemble dépend de cette convention.
Dans un programme, le patron Singleton convient lorsque le périmètre d'exécution doit partager une unique instance d'une classe et un accès commun. Si plusieurs états indépendants doivent coexister, des instances ordinaires sont préférables : ce besoin observable contredit précisément l'unicité recherchée.

À ne pas confondre

Singleton et ensemble vide. Le critère est la cardinalité : un singleton contient exactement un élément, tandis que l'ensemble vide n'en contient aucun. Ainsi, {a} est un singleton, mais ∅ ne l'est pas.
Singleton et élément. L'objet a et l'ensemble {a} ne sont pas interchangeables. Le premier est l'élément ; le second est l'ensemble dont a est l'unique élément. Par exemple, a appartient à {a}, mais cette relation ne dit pas que a est égal à {a}.
Ensemble singleton et patron Singleton. Le premier se reconnaît en comptant les éléments distincts d'un ensemble. Le second se reconnaît au contrôle de l'instanciation d'une classe et à son point d'accès global. Une classe à instance unique n'est donc pas un ensemble de cardinalité 1.

Limites et pièges

Répéter un élément ne change pas la cardinalité. L'écriture {a, a} peut donner l'impression de montrer deux éléments. Comme les deux occurrences désignent le même objet, l'ensemble reste {a} et sa cardinalité reste 1.
Un singleton peut contenir un ensemble. Si a est lui-même un ensemble, {a} reste un singleton. En particulier, {∅} contient un élément, l'ensemble vide, alors que ∅ n'en contient aucun. Il faut compter les éléments au niveau extérieur des accolades.
L'unicité informatique dépend du périmètre annoncé. L'expression « une seule instance » concerne l'exécution et le mécanisme de création considérés. Avant de conclure qu'un Singleton est réellement unique, il faut donc préciser ce périmètre au lieu d'étendre automatiquement l'affirmation à plusieurs exécutions distinctes.

Pour aller plus loin

Ensemble vide — Comparer les cardinalités 0 et 1 pour distinguer le plus petit ensemble de tout singleton.
La théorie des ensembles pour tous — Replacer les singletons dans le langage général des ensembles et de leurs constructions.
Continuez avec Tangente

Explorez les mathématiques autrement

Retrouvez nos magazines, podcasts et jeux pour explorer les mathématiques autrement.

Découvrir les offres