java中的代理模式

来源:互联网 发布:数据分析师的前景 编辑:程序博客网 时间:2024/05/19 22:48

代理模式:
eg:

package com.zt;
/**
 * 有一个women类 ,里面有一个抛媚眼的方法
 * @author xiaoa
 *
 * 2017年6月22日
 */
public abstract class Women {
     public abstract void paomy();
}

package com.zt;
/**
 * 王婆继承了women类,并在类中创建了一个women的对象,即为代理人对象,并有一个为代理人抛媚眼的方法
 * @author xiaoa
 *
 * 2017年6月22日
 */
public class WangPo extends Women{
          Women women; //代理人的对象

          @Override
          public void paomy() {
                   women.paomy();
          }

}

package com.zt;
/**
 * 潘金莲的类继承了women类,有一个潘金莲抛媚眼的方法
 * @author xiaoa
 *
 * 2017年6月22日
 */
public class PanjinLian extends Women{
          @Override
          public void paomy() {
                   System.out.println("PanjinLian  paomy");
          }

}

package com.zt;
/**
 * 西门庆的类,里面new出一个王婆,new出一个潘金莲,然后让王婆类中的代理人对象指向潘金莲,并调用为代理人抛媚眼的方法
 * @author xiaoa
 *
 * 2017年6月22日
 */
public class Ximen {

          public static void main(String[] args) {
                   WangPo wp=new WangPo();
                   PanjinLian pjl=new PanjinLian();
                   wp.women=pjl; //王婆代理了 pjl
                   wp.paomy();
//      输出:        PanjinLian  paomy
          }

}
原创粉丝点击