静态代理

静态代理模式

静态代理对象和真实对象实现同一接口

package thread;
//静态代理模式总结:
//真实对象和代理角色都要实现同一接口
//代理角色要代理真实角色
//好处:
    //代理对象可以做很多真实对象做不了的事情
    //真是对象专注做自己的事情


public class test{
    public static void main(String[] args) {
        WeddingCompany weddingCompany = new WeddingCompany(new You());
        weddingCompany.HappyMarry();
    }
}

interface Marry{
    void HappyMarry();
        }

//真实角色,你去结婚
class You implements Marry{
    @Override
    public void HappyMarry() {
        System.out.println("我结婚了,我好开心");
    }
}
//代理角色,帮你结婚
class WeddingCompany implements Marry{
    private Marry targrt;

    public WeddingCompany(Marry targrt) {
        this.targrt = targrt;
    }

    @Override
    public void HappyMarry() {
        before();
        this.targrt.HappyMarry();//这就是真实角色
        after();
    }

    private void after() {
        System.out.println("结婚之后,付尾款");
    }

    private void before() {
        System.out.println("结婚之前,布置现场");
    }
}
posted @ 2021-03-05 22:24  坚持出成绩  阅读(35)  评论(0)    收藏  举报