Muster (Vorlage) der Delegation – schauen wir uns das einfachste Beispiel an. Es gibt eine Klasse
А
mit einer Methode f
. Eine Klasse А
ist eine interne, nicht statische Klasse einer Klasse My
.
public class My{
public static void main(String[]args){
My test = new My();
My.A a1 = test.new A();
a1.f();
My.B b = test.new B();
b.f();
}
class A{
void f(){
System.out.println("f");
}
}
}
Dann geben wir auf der Konsole aus, was die Methode bewirkt f
. main
Erstellen Sie dazu ein Klassenobjekt in der Methode А
und rufen Sie die Methode auf f
. Jetzt erstellen wir die Klasse B
. Wir benötigen, dass es das Gleiche tut wie die Klasse А
, aber wir werden den Code nicht duplizieren und auch keine Vererbung verwenden, sondern in der Klasse В
ein Objekt der Klasse erstellen А
und dann В
die Klassenmethode in der Klassenmethode aufrufen А
.
class B{
A a = new A();
void f(){
a.f();
}
}
Eine Klasse В
delegiert die Ausführung einiger Aufgaben an eine andere Klasse. В
in diesem Fall class А
.
GO TO FULL VERSION