Comprendre les membres statiques dans Scala
Dans cet article, nous allons découvrir les membres statiques dans Scala.
Maintenant, Scala est plus orienté objet que Java, mais contrairement à Java, nous n’avons pas le mot-clé static
dans Scala. La solution consiste donc à utiliser des objets compagnons ou des objets singleton.
Objets singleton dans Scala
Comme Scala n’a pas le mot-clé static
, on peut utiliser le concept d’objet singleton. Un objet singleton est un type d’objet qui définit un objet unique pour la classe.
Cela fournit un point d’entrée pour l’exécution du programme. Si un objet singleton n’est pas créé dans le programme, le code compilera mais ne donnera aucune sortie.
L’objet singleton est créé à l’aide du mot-clé object
.
Syntaxe:
object name
{
//our code..
}
Exemple de code :
object Example
{
// Variables of singleton object
var name = "My name is tony stark";
var language = "We are learning Scala language";
// Method of singleton object
def display()
{
println(name);
println(language);
}
}
// Singleton object whose name is main
object Main
{
def main(args: Array[String])
{
//calling the method
Example.display();
}
}
Production:
My name is tony stark
We are learning Scala language
Explication:
Nous avons créé deux objets singleton dans le code ci-dessus, c’est-à-dire Example
et Main
. L’objet Example
contient une méthode nommée display()
, qui est appelée à l’intérieur de l’objet Main
directement en utilisant le nom d’objet Example
au lieu de créer un objet puis de l’appeler.
Voici quelques points importants concernant les objets singleton :
- La méthode
Main
doit toujours être présente lorsque vous travaillez avec des objets singleton. - Nous ne pouvons pas créer une instance d’un objet singleton.
- Les méthodes à l’intérieur des objets singleton ont une accessibilité globale.
- Un objet singleton peut étendre des classes et des traits.
Objets compagnons dans Scala
On définit des instances, c’est-à-dire des membres non statiques dans une classe, et on définit des membres que l’on veut faire apparaître comme membres statiques
dans un objet portant le même nom que la classe. Ce type d’objet est connu sous le nom d’objet compagnon, et la classe est connue sous le nom de classe compagnon
.
L’objet compagnon et la classe doivent être définis dans le même fichier source.
Exemple de code :
class Example
{
var name = "My name is tony stark";
var language = "We are learning Scala language";
def display()
{
println(name);
println(language);
}
}
object Example
{
def main(args: Array[String])
{
//calling the method
var obj = new Example();
obj.display()
}
}
Production:
My name is tony stark
We are learning Scala language