Die statischen Elemente in Scala verstehen
In diesem Artikel lernen wir statische Member in Scala kennen.
Nun, Scala ist objektorientierter als Java, aber im Gegensatz zu Java haben wir in Scala nicht das Schlüsselwort static
. Die Lösung besteht also darin, entweder Companion-Objekte oder Singleton-Objekte zu verwenden.
Singleton-Objekte in Scala
Da Scala das Schlüsselwort static
nicht hat, können wir das Konzept eines Singleton-Objekts verwenden. Ein Singleton-Objekt ist ein Objekttyp, der ein einzelnes Objekt für die Klasse definiert.
Dies stellt einen Einstiegspunkt für die Ausführung des Programms bereit. Wenn im Programm kein Singleton-Objekt erstellt wird, wird der Code kompiliert, gibt jedoch keine Ausgabe aus.
Das Singleton-Objekt wird mit dem Schlüsselwort object
erstellt.
Syntax:
object name
{
//our code..
}
Beispielcode:
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();
}
}
Ausgabe:
My name is tony stark
We are learning Scala language
Erläuterung:
Wir haben im obigen Code zwei Singleton-Objekte erstellt, nämlich Example
und Main
. Das Example
-Objekt enthält eine Methode namens display()
, die innerhalb des Main
-Objekts direkt mit dem Objektnamen Example
aufgerufen wird, anstatt ein Objekt zu erstellen und es dann aufzurufen.
Hier sind einige wichtige Punkte zu Singleton-Objekten:
- Die Methode
Main
sollte immer vorhanden sein, wenn mit Singleton-Objekten gearbeitet wird. - Wir können keine Instanz eines Singleton-Objekts erstellen.
- Methoden innerhalb von Singleton-Objekten haben globalen Zugriff.
- Ein Singleton-Objekt kann Klassen und Eigenschaften erweitern.
Begleitobjekte in Scala
Wir definieren Instanzen, d. h. nichtstatische Mitglieder in einer Klasse, und definieren Mitglieder, die als statische
Mitglieder in einem Objekt mit dem gleichen Namen wie die Klasse erscheinen sollen. Diese Art von Objekt wird als Companion-Objekt bezeichnet, und die Klasse wird als companion
-Klasse bezeichnet.
Das Begleitobjekt und die Klasse sollten in derselben Quelldatei definiert werden.
Beispielcode:
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()
}
}
Ausgabe:
My name is tony stark
We are learning Scala language