Corak (Templat) Perwakilan - mari kita lihat contoh paling mudah. Terdapat kelas
А
dengan beberapa kaedah f
. Kelas А
ialah kelas dalaman, bukan statik bagi 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 kaedah yang dilakukan f
. main
Untuk melakukan ini, buat objek kelas dalam kaedah А
dan panggil kaedah f
. Sekarang mari buat kelas B
. Kami memerlukannya untuk melakukan perkara yang sama seperti kelas А
, tetapi kami tidak akan menduplikasi kod dan kami tidak akan menggunakan warisan sama ada, tetapi dalam kelas kami В
akan mencipta objek kelas А
, dan kemudian В
memanggil kaedah kelas dalam kaedah kelas А
.
class B{
A a = new A();
void f(){
a.f();
}
}
Kelas В
mewakilkan pelaksanaan beberapa tugas kepada kelas lain. В
dalam kelas kes ini А
.
GO TO FULL VERSION