Die statischen Elemente in Scala verstehen

Suraj P 13 Juni 2022
  1. Singleton-Objekte in Scala
  2. Begleitobjekte in Scala
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:

  1. Die Methode Main sollte immer vorhanden sein, wenn mit Singleton-Objekten gearbeitet wird.
  2. Wir können keine Instanz eines Singleton-Objekts erstellen.
  3. Methoden innerhalb von Singleton-Objekten haben globalen Zugriff.
  4. 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
Autor: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

Verwandter Artikel - Scala Methods