Delegatsiyaning namunasi (shablon) - eng oddiy misolni ko'rib chiqaylik.
А
Ba'zi usul bilan sinf mavjud f
. Sinf А
- bu sinfning ichki, statik bo'lmagan sinfidir 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");
}
}
}
Keyin biz konsolda usul nima qilishini chop qilamiz f
. Buning uchun metodda main
sinf ob'ektini yarating А
va usulni chaqiring f
. Endi sinfni yarataylik B
. Biz buni sinf bilan bir xil qilishimiz kerak А
, lekin biz kodni takrorlamaymiz va merosdan ham foydalanmaymiz, lekin sinfda biz В
sinf ob'ektini yaratamiz А
va keyin В
sinf usulida sinf usulini chaqiramiz А
.
class B{
A a = new A();
void f(){
a.f();
}
}
Sinf В
ba'zi vazifalarni bajarishni boshqa sinfga topshiradi. В
bu holda sinf А
.
GO TO FULL VERSION