//静态代理
//作为委托类的实现接口
public interface BookAuthor {
public void sale();
}
//书店帮作者卖书,即代理作者卖书
//所以代理者也有与作者相同的方法
public class BookStoreProxy implements BookAuthor {
//既然是代理作者卖书,则要有作者想把书给代理者,需要有个作者的对象,代理者帮作者进行卖书操作
JavaBookAuthor bkAuthor;
public BookStoreProxy(JavaBookAuthor bkAuthor){
this.bkAuthor = bkAuthor;
}
@Override
public void sale() {
//在卖书前,代理者获得作者的图书买卖权
System. out.println("作者,你给我的书我正在帮你卖" );
this.bkAuthor .sale();
//在卖完书后,代理者与作者可能还要进行一些操作
System. out.println("作者,我帮你卖完了书,你是不是要给代理费给我呢" );
}
}
//作者卖自己的书
public class JavaBookAuthor implements BookAuthor {
@Override
public void sale() {
System. out.println("出售java书,哪个要买" );
}
}
public class Client {
public static void main(String[] args) {
//先要有一个委托类(作者)
JavaBookAuthor bkAuthor = new JavaBookAuthor();
//再有个代理类(书店),因为要帮作者处理事情,所以要有作者的相关介入,否则没书卖,或者卖了没钱得
BookStoreProxy bkStoreProxy = new BookStoreProxy(bkAuthor);
//代理者帮作者卖书
bkStoreProxy.sale();
}
}
静态代理
最新推荐文章于 2024-08-19 19:59:01 发布