静态代理

来源:互联网 发布:航旅纵横网络异常 编辑:程序博客网 时间:2024/06/05 03:56

静态代理 比较容易理解;

 满足惊呆代理的方式 需要满足一下几个条件:

1、 有真实角色(被代理的对象)

2、代理对象

3、有共同实现的接口  (愿望要一致  不然我让你代理干嘛,以接口来规范)

4、代理类 持有  被代理类的对象 (这样才能实现代理的愿望)


# 以结婚为对列  小刘 要结婚, 他是真实角色  ,婚介是代理,  小刘只要管自己结婚  而结婚前后的事情交给 婚介去做.


//接口  结婚  

public  inoterface domarry(){//有共同的接口

void marry();

}


//真实角色

public class XiaoLiu entends domarry{//有真实角色  

@override

        public void marry(){

 system.out.println("我和XX结婚");

}

}


//代理角色

public class WeddingCompany  entends domarry {  //有代理角色  

     private  XiaoLiu  xl ;

public WeddingCompany (XiaoLiu){

this.xl=xl

}


@override

        public void marry(){

before();

xl.marry();

after();

}

        void before(){

 system.out.println("结婚前我们帮你布置婚礼");

}

        void after(){

system.out.println("结婚后我们帮你安排旅游"); 

}

}


public static void main(String[] args){

XiaoLiu xl = new XiaoLiu();

WeddingCompany weddingcom = new WeddingComapny(xl);

weddingcom.marry();

}

输出结果:

结婚前我们帮你布置婚礼

我和XX结婚

结婚后我们帮你安排旅游


静态代理思想: 代理与被代理的主要愿望是一致的(接口), 然后代理人要持有被代理的对象(婚介公司需要有“你”这个对象)这样才能去做你想要做的事情。 代理对象可以 处理自己的行为.




0 0
原创粉丝点击