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.
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