Pola (Templat) Delegasi - mari kita lihat contoh paling sederhana. Ada kelas
А
dengan beberapa metode f
. Kelas А
adalah kelas internal non-statis dari suatu kelas 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");
}
}
}
Kemudian kami akan mencetak ke konsol apa yang dilakukan metode ini f
. main
Untuk melakukan ini, buat objek kelas dalam metode А
dan panggil metode tersebut f
. Sekarang mari kita buat kelasnya B
. Kita membutuhkannya untuk melakukan hal yang sama seperti kelas А
, tetapi kita tidak akan menduplikasi kode dan kita juga tidak akan menggunakan warisan, tetapi di kelas kita В
akan membuat objek kelas А
, dan kemudian В
memanggil metode kelas di metode kelas А
.
class B{
A a = new A();
void f(){
a.f();
}
}
Sebuah kelas В
mendelegasikan pelaksanaan beberapa tugas ke kelas lain. В
dalam hal ini kelas А
.
GO TO FULL VERSION