Delegieren Sie in Java

MD Aminul Islam 12 Oktober 2023
Delegieren Sie in Java

Wenn Sie mit Programmiersprachen wie Java arbeiten, sind Sie vielleicht mit Vererbung vertraut. Doch es gibt eine Alternative zur Vererbung, die Delegation.

Über die Delegation können Sie ein Objekt einer anderen Klasse als Instanzvariable verwenden. In gewisser Weise ist es besser als Vererbung, da es Sie nicht dazu zwingt, unnötige Methoden von der Oberklasse zu akzeptieren.

Außerdem ist die Instanz von einer bekannten Klasse. Wir nennen die Delegation einen Beziehungsmacher zwischen den Objekten, bei dem ein Objekt einen Methodenaufruf an ein anderes Objekt weiterleiten kann.

Die Delegation bietet Ihnen Flexibilität bei der Laufzeit. Das Problem ist jedoch, dass die meisten gängigen Programmiersprachen die Delegation nicht unterstützen.

In diesem Artikel betrachten wir die Verwendung von Delegation in Java. Außerdem werden wir das Thema anhand eines Beispiels mit geeigneten Erklärungen erörtern, um das Thema zu vereinfachen.

Delegierung in Java

Nachfolgend betrachten wir ein einfaches Beispiel für Delegation und beschreiben es Stück für Stück.

class MainPrinter { // The class that hold the actual PrintData() method
  void PrintData() {
    System.out.println("This is the Delegate.");
  }
}

class MyPrinter { // The class that calls PrintData() method from the object of class MainPrinter
  MainPrinter p = new MainPrinter(); // Creating an object for MainPrinter class.
  void PrintData() {
    p.PrintData(); // Calling the method from MainPrinter class object.
  }
}

class TestDelegate {
  public static void main(String[] args) {
    MyPrinter printer = new MyPrinter(); // Creating an object for MyPrinter class.
    printer.PrintData(); // Calling the method from MyPrinter class object.
  }
}

Oben haben wir ein Beispiel geteilt, das Delegation veranschaulicht. Wir haben bereits den Zweck jeder Zeile des Codes befohlen.

Im obigen Beispiel haben wir drei verschiedene Klassen namens MainPrinter, MyPrinter und TestDelegate erstellt, wobei die Klasse MainPrinter die eigentliche Methode enthält, die die Daten druckt.

Und die Klasse MyPrinter enthält auch die Methode printData(), die hauptsächlich eine andere Methode aus einer anderen Klasse namens MainPrinter aufruft.

Aber wenn Sie sich die Handler-Klasse mit dem Namen TestDelegate ansehen, können Sie sehen, dass wir ein Objekt aus der Klasse MyPrinter erstellt haben, wobei die Klasse MyPrinter nicht die eigentliche Methode printData() hat.

Nachdem Sie den obigen Beispielcode ausgeführt haben, erhalten Sie eine Ausgabe wie die folgende.

This is the Delegate.

Bitte beachten Sie, dass die hier freigegebenen Codebeispiele in Java sind und Sie Java in Ihrer Umgebung installieren müssen, wenn Ihr System kein Java enthält.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn