Skip to content
Menu
Saayarelo
Saayarelo

GeeksforGeeks

Posted on Oktober 31, 2021

Singleton Object

Scala ist mehr objektorientiert als Java, daher enthält Scala kein Konzept für statische Schlüsselwörter. Anstelle des statischen Schlüsselworts hat Scala ein Singleton-Objekt. Ein Singleton-Objekt ist ein Objekt, das ein einziges Objekt einer Klasse definiert. Ein Singleton-Objekt bietet einen Einstiegspunkt für die Ausführung Ihres Programms. Wenn Sie kein Singleton-Objekt in Ihrem Programm erstellen, dann wird Ihr Code zwar erfolgreich kompiliert, aber nicht ausgegeben. Sie benötigen also ein Singleton-Objekt, um die Ausgabe Ihres Programms zu erhalten. Ein Singleton-Objekt wird mit dem Schlüsselwort object erstellt.
Syntax:

object Name{// code...}

Wichtige Punkte zum Singleton-Objekt

  • Die Methode im Singleton-Objekt ist global zugänglich.
  • Es ist nicht erlaubt, eine Instanz eines Singleton-Objekts zu erzeugen.
  • Es ist nicht erlaubt, Parameter im primären Konstruktor eines Singleton-Objekts zu übergeben.
  • In Scala kann ein Singleton-Objekt Klassen und Traits erweitern.
  • In Scala ist eine Hauptmethode immer in einem Singleton-Objekt vorhanden.
  • Auf die Methode im Singleton-Objekt wird mit dem Namen des Objekts zugegriffen (genau wie beim Aufruf einer statischen Methode in Java), so dass es nicht notwendig ist, ein Objekt zu erstellen, um auf diese Methode zuzugreifen.

Beispiel 1:

class AreaOfRectangle
{
var length = 20;
var height = 40;
def area()
{
var ar = length * height;
println("Height of the rectangle is:" + height);
println("Length of the rectangle is:" + length);
println("Area of the rectangle is :" + ar);
}
}
object Main
{
def main(args: Array)
{
var obj = new AreaOfRectangle();
obj.area();
}
}



Ausgang:

Height of the rectangle is:40Length of the rectangle is:20Area of the rectangle is :800

Beispiel 2:

object Exampleofsingleton
{
var str1 = "Welcome ! GeeksforGeeks";
var str2 = "This is Scala language tutorial";
def display()
{
println(str1);
println(str2);
}
}
object Main
{
def main(args: Array)
{
Exampleofsingleton.display();
}
}



Ausgang:

Welcome ! GeeksforGeeksThis is Scala language tutorial

Erläuterung: Im obigen Beispiel haben wir zwei Singleton-Objekte, d.h. Exampleofsingleton und Main. Das Objekt Exampleofsingleton enthält eine Methode namens display(), die wir nun im Objekt Main aufrufen. Mit dieser Anweisung Exampleofsingleton.display(); rufen wir die Methode display() auf, die im Exampleofsingleton-Objekt vorhanden ist, und geben die Ausgabe aus.

Companion-Objekt

Companion-Objekt ist bekannt als ein Objekt, dessen Name derselbe ist wie der Name der Klasse. Mit anderen Worten, wenn ein Objekt und eine Klasse den gleichen Namen haben, dann wird dieses Objekt als Begleitobjekt und die Klasse als Begleitklasse bezeichnet. Ein Companion-Objekt wird in derselben Quelldatei definiert, in der auch die Klasse definiert ist. Ein Companion-Objekt darf sowohl auf private Methoden als auch auf private Felder der Klasse zugreifen.
Beispiel:

class ExampleofCompanion
{
var str1 = "GeeksforGeeks";
var str2 = "Tutorial of Companion object";
def show()
{
println(str1);
println(str2);
}
}
object ExampleofCompanion
{
def main(args: Array)
{
var obj = new ExampleofCompanion();
obj.show();
}
}



Ausgabe:

GeeksforGeeksTutorial of Companion object
Artikel Tags :

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Neueste Beiträge

  • Was macht den Labyrinthfisch anders?
  • Systemische Kortikosteroide werden häufig bei Psoriasis verschrieben
  • 5 Fragen mit … Melissa McGurren | RSN
  • Die neutestamentlichen Bücher der Bibel
  • Tilapia Almondine
  • Männerhaartypen: Pflege + 12 Styling-Ideen
  • 15 Texting and Driving Quotes and Slogans to Reminder You to Stay off Your Phone
  • 101 Best Art Captions for Instagram
  • Zahnmedizin
  • Was ist Schneeschimmel? (And How to Get Rid of It)

Archive

  • Februar 2022
  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • Deutsch
  • Nederlands
  • Svenska
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
©2022 Saayarelo | WordPress Theme: EcoCoded