Objets singletons Objets:singletons

1. Définition

Un objet singleton est une valeur qu’on définit de la même façon qu’une classe avec le mot-clé object. C’est à la fois une classe et une instance de cette même classe qui est créée lors du premier appel.

Cela permet de définir des méthodes ou des constantes accessibles depuis tout le projet sans devoir créer une instance de classe ou étendre une classe.

Prenons comme exemple l’objet Compteur qui contient :

  • une variable nom de type String,

  • une variable privée mutable total de type Int,

  • une méthode decompte qui récupère la valeur de la variable total,

  • une méthode ajouter qui incrémente la variable total.

object Compteur { 
 val nom = "COMPTEUR" 
 private var total = 0 
 def decompte = total 
 def ajouter = total += 1 
} 

Depuis une autre classe ou un autre objet, on peut appeler les méthodes et récupérer les variables accessibles de cet objet en indiquant son nom devant les éléments appelés.

Dans notre exemple, on peut incrémenter le compteur avec la méthode ajouter, récupérer le total avec la méthode decompte et la variable nom mais pas la variable total qui est privée.

Compteur.ajouter 
Compteur.decompte 
// res259: Int = 1 
 
Compteur.nom 
// res260: String = COMPTEUR 
 ...
couv_EPSCALA.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Héritage
Suivant
Exemple complet