Scala Companion -Objekt

Scala Companion -Objekt
Durch die Definition eines Klassenobjekts können wir die Mitglieder der Klasse inspizieren und jede Methode in anderen Programmiersprachen aufrufen. Die spezifische Methode wird mit Hilfe dieses Objekts aufgerufen. In dem Artikel werden wir ein Objekt erstellen, das keine Klasse benötigt, um seine Mitglieder zu deklarieren. Scala führt Singleton -Objekte oder Begleitobjekte ein. Scala -Klasse und Scala -Objekt sind dann mit derselben Quelldatei; Sie sind ein Begleiter miteinander.

Was sind Begleitobjekte in Scala?

Ein Begleitobjekt und die Klasse befinden sich zusammen mit demselben Namen in derselben Quelldatei. Begleitobjekte sind Objekte, die einen ähnlichen Namen wie die Klasse haben, zu der sie gehören. Die gleiche Kombination aus Objekt und Klassenname ist sehr leistungsfähig. Wir können sowohl auf private Methoden als auch auf Felder der Klasse zugreifen.

Syntax von Scala Companion -Objekten

Die allgemeine Syntax des Begleitobjekts in Scala sieht auf diese Weise aus:

Klasse class_name
// Klassenkörper
Objekt Objekt_Name
// Objektkörper

Hier ist "class_name" der Name der Klasse und der Object_Name ist der Name des Klassenobjekts. Der Unterricht und der Objektname sollten gleich sein, um Begleiter zueinander zu werden. Dies bedeutet, dass wir die Felder und Methoden der Instanzen der Klasse verwenden können.

So verwenden Sie die Scala Companion -Objekte in Ubuntu 20.04?

Um die Verwendung der Begleitobjekte in Scala zu verstehen, sollten Sie sich die folgenden Beispiele unten ansehen:

Beispiel 1: Verwendung der Skala -Begleitklasse und der Objektmethode

Wir können ein Begleitobjekt erstellen, indem wir den Namen des Objekts genauso wie der Klassenname behalten. Dann haben wir die Klasse und den Objektbegleiter zueinander betrachtet. Im Folgenden haben wir ein Begleitobjekt erstellt.

Im obigen Code haben wir eine Klasse als Beispiel1. Die Klasse hat Variablen STR1 und STR2 mit dem Stringwert initialisiert. Es gibt eine Methode "myexample", die die Klasse definiert, die die Werte "Str1" und "str2" druckt. Im Begleitobjekt zugreifen wir auf die Methode der relevanten Klasse.

Sie können in der folgenden Ausgabe sehen; Wir können auf das Mitglied der Begleitklasse mit dem Schlüsselwort „Neu“ in das Begleitobjekt zugreifen.

Beispiel 2: Verwenden der Methode für das Skala -Begleiter an, um das Scala -Begleitobjekt anzuwenden

Wir können eine Instanz einer Klasse über die Anwendenmethode erstellen. Lassen Sie uns unten eine Implementierung der Antragsmethode haben.

Im obigen Code haben wir eine Klasse mit dem Namen "Früchte" deklariert und auch ein Objekt der Klasse erstellt. Das Klassenobjekt heißt auch "Früchte". Indem sie ihren Namen behalten, gelten sie als Begleitobjekte als Begleitobjekte. Die Klassenfrucht wurde mit einer Variablen „x“ definiert. Die Variable hat eine leere Zeichenfolge. Als nächstes haben wir ein Begleitobjekt von Begleitklassenfrucht. Im Begleitobjekt haben wir die Anwendungsmethode verwendet, die ein Argument eines Begleitklassenmitglieds annimmt. Dann haben wir eine Variable 'y' in der Anwendenmethode erstellt. Die Variable "Y" initialisiert eine Instanz eines Objekts mit dem Schlüsselwort "neu". Durch die Verwendung der Methode anwenden können wir das Objekt direkt aus der Klasse aufrufen.

Wir verwenden den Paste -Modus für die Anwendenmethode. Nachdem wir aus einem Paste -Modus beendet haben, können wir das Mitglied der Klasse direkt anrufen. Wir haben in Scala einen Muster -Matching -Code geschrieben und die Ausgabe ist unten gezeigt.

Beispiel 3: Verwenden der Methode anwenden zum Erstellen mehrerer Konstruktoren

Mit der Methode anwenden können wir mehr als ein Argument übergeben. In der Begleitklasse können wir mehr als eine anwenden, die mehrere Konstruktoren bereitstellt. Das Beispiel besteht darin.

Im obigen Code haben wir eine Begleitklasse als "Sprache" erstellt und zwei Variablen "L1" und "L2" definiert, die zwei Variablen definiert haben. Dann haben wir ein Begleitobjekt des Namen. Im Begleitobjekt haben wir zwei Methoden anwenden verwendet. Das erste ist, dass ein einzelner Wert übergeben wird und die andere Anwendungsmethode zwei Argumente als Konstruktor nimmt. Die Anwendenmethode hat das Variable "L3", das ein "neues" Schlüsselwort mit dem Objekt hat. Wir können eine neue Instanz eines Objekts mit der Verwendung des „neuen“ Schlüsselworts generieren. Das "L3" nimmt Werte von "L1" und "L2" im Code ab.

Die Ausgabe, die wir im Rahmen des Paste -Modus erhalten, wenn die Implementierung nach dem Verlassen des Modus angezeigt wird. Wir können das Objekt mit der Methode anwenden aufrufen.

Beispiel 4: Verwenden der Unapply -Methode für Begleitobjekte

Jetzt können wir das Feld auch aus einem Objekt extrahieren, indem wir die Unapply -Methode im Begleitobjekt verwenden.

Im obigen Code haben wir zunächst eine Begleitklasse erstellt, die als "Farbe" bezeichnet wird. Die Begleitklasse „Farbe“ hat Variablen als Mitglieder der Klasse. Die Variable wird als "C1" und "C2" dargestellt. Diese variablen Felder können vom Begleitobjekt als Konstruktor zugegriffen werden. Anschließend haben wir ein Begleitobjekt erstellt und die darin enthaltene Methode definiert. Die Anwendungsmethode erstellt einen Konstruktor, indem Argumente der Felder der Begleitklasse bestehen. In der Methode anwenden haben wir eine Variable „C3“, die ein neues Schlüsselwort mit der Objektfarbe verwendet. Die Werte von "C1" und "C2" sind an "C3" übergeben. Am Ende müssen wir die nicht ansprechende Methode verwenden, die „C3“ als Argument hat und den Wert von „C1“ und „C2“ zurückgibt.

Nachdem wir aus dem Paste -Modus beendet wurden, haben wir die Felder aus einem „C3“ extrahiert. Die Ausgabe der nicht anwendbaren Methode wird auf dem Bildschirm angezeigt.

Abschluss

Der Leitfaden zielt darauf ab, Ihnen die Vorteile eines Begleitobjekts zu demonstrieren. Um ein Begleiter der Klasse und des Objekts zu werden, sollte der Name derselbe sein und werden in derselben Quelldatei aufbewahrt. Anschließend diskutierten wir die Methode anwenden mit der Code -Implementierung. Wir können mehr als eine Methode anwenden in einem Begleitobjekt verwenden und verschiedene Konstruktoren in der Anwendenmethode erstellen. Wir haben auch die unpassende Methode erörtert, um die Felder der Klasse zu extrahieren. Das Beispiel für die Methode anwenden erfolgt über den Paste -Modus in Ubuntu 20.04 Terminal. Sie können den Paste -Modus verwenden, indem Sie den Befehl „scala“ auf dem Terminal angeben und aus dem Paste -Modus beenden, indem Sie „Strg+D“ drücken.