Methodenverkettung in Java

Sheeraz Gul 12 Oktober 2023
Methodenverkettung in Java

Dieses Tutorial zeigt, wie man Methodenverkettung in Java durchführt.

Methodenverkettung in Java

Methodenverkettung ruft mehrere Methoden gleichzeitig mit dem Punkt . auf. Betreiber. Die Methodenverkettung ruft mehrere Methoden in einer Anweisung auf, während eine Kette von Methoden in einer Anweisung aufgerufen wird.

Methodenverkettung ist ein Konzept aus dem objektorientierten Programm, bei dem jede Methode in einer Kette ein Objekt zurückgibt. Methodenverkettung kann auch als Aufruf mehrerer Methoden für ein Objekt definiert werden.

Die Syntax für die Methodenverkettung lautet:

DemoObject.method1().method2().method3();

Wie wir in der Syntax sehen können, werden auf dem DemoObject drei Methoden aufgerufen. Das Aufrufen einer Methode nach der anderen auf diese Weise wird als Konzept der Methodenverkettung bezeichnet.

Die Methodenverkettung ist in Java auch als Parameter-Idiom bekannt. Manchmal können wir es einen Zugunglück nennen, wenn die Anzahl der Methoden zunimmt.

Lassen Sie uns ein Beispiel für Methodenverkettung in Java ausprobieren:

package delftstack;
class Demo {
  private int DemoInt;
  private float DemoFloat;

  Demo() {
    System.out.println("This is the consutructor");
  }

  int SetInteger(int DemoInt) {
    this.DemoInt = DemoInt;
    return this.DemoInt;
  }

  float SetFloat(float DemoFloat) {
    this.DemoFloat = DemoFloat;
    return this.DemoFloat;
  }

  void DisplayData() {
    System.out.println("Display Numbers=" + DemoInt + " " + DemoFloat);
  }
}

public class Example {
  public static void main(String[] args) {
    new Demo().SetInteger(34).DisplayData();
  }
}

Der obige Code hat die Methodenverkettung auf das Objekt der Klasse Demo angewendet. Es wird jedoch ein Fehler ausgegeben, da die Methode DisplayData ein Objekt zurückgibt, bei dem SetInteger einen Int-Wert zurückgibt.

Das Konzept der Methodenverkettung funktioniert nicht auf diese Weise.

Siehe die Ausgabe:

public class Example {
       ^
Demo.java:33: error: int cannot be dereferenced
new Demo().SetInteger(34).DisplayData();
^
2 errors

Um dieses Problem zu lösen, müssen wir die Methode als eine Art Demo-Klasse definieren und nur das this-Objekt in den Methoden zurückgeben.

Siehe das Beispiel:

package delftstack;

class Demo {
  private int DemoInteger;
  private float DemoFloat;

  Demo() {
    System.out.println("This is the consutructor");
  }

  public Demo SetInteger(int DemoInteger) {
    this.DemoInteger = DemoInteger;
    return this;
  }

  public Demo SetFloat(float DemoFloat) {
    this.DemoFloat = DemoFloat;
    return this;
  }

  void DisplayData() {
    System.out.println("Display Numbers=" + DemoInteger + " " + DemoFloat);
  }
}

class Example {
  public static void main(String[] args) {
    new Demo().SetInteger(43).SetFloat(23).DisplayData();
  }
}

Jetzt wird der Code richtig funktionieren. Siehe die Ausgabe:

This is the consutructor
Display Numbers=43 23.0

Hier sind einige wichtige Punkte, die bei der Arbeit mit Methodenverkettung in Java zu beachten sind:

  1. Immer wenn der Konstruktor aufgerufen wird, sollten wir sicherstellen, dass der Konstruktor keinen Rückgabewert enthält.
  2. Der Konstruktor gibt immer eine Objektreferenz zurück, sodass wir diese Objektreferenz verwenden können, um eine andere Methode aufzurufen.
  3. Beim Anwenden der Methodenverkettung mit einem Punkt . -Operator sollten wir sicherstellen, dass jede Methode in der Kette eine Objektreferenz zurückgibt.

Beispielsweise gibt im ersten Beispiel die Methode SetInteger einen Int und die Methode DisplayData eine Objektreferenz zurück, weshalb sie einen Fehler zurückgibt. Ebenso gibt im zweiten Beispiel jede Methode eine Objektreferenz zurück, weshalb sie korrekt funktioniert.

Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Verwandter Artikel - Java Method