加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

第7章《代理模式》

发布时间:2020-12-13 20:55:59 所属栏目:百科 来源:网络整理
导读:? ? ? ?? ? ? ? ? ? ? ?? ? ? ?? ? ? ?? ? ? ?? ? ? SchoolGirl /** @Author: cxh @CreateTime: 18/1/3 21:07 @ProjectName: JavaBaseTest */ public class Client { public static void main(String[] args) { SchoolGirl girl=new SchoolGirl("黎敏"); Pro

? ? ? ??

? ?

? ? ?

? ??

? ? ??

? ? ??

?? ?? ? ?

SchoolGirl

/**

  • @Author: cxh
  • @CreateTime: 18/1/3 21:07
  • @ProjectName: JavaBaseTest
    */
    public class Client {
    public static void main(String[] args) {
    SchoolGirl girl=new SchoolGirl("黎敏");
    Proxy proxy=new Proxy(girl);
    //通过调用代理方法,间接调用Persuit的方法.
    proxy.giveFlowers();
    proxy.giveDolls();
    proxy.giveChocolate();
    }
    }


/**

  • @Author: cxh

  • @CreateTime: 18/1/3 20:58

  • @ProjectName: JavaBaseTest
    */
    public class Gift {
    //礼物接口
    Gift(){}

    void giveChocolate(){};
    void giveDolls(){};
    void giveFlowers(){};
    }



/**

  • @Author: cxh

  • @CreateTime: 18/1/3 21:00

  • @ProjectName: JavaBaseTest
    */
    public class Persuit extends Gift {
    private SchoolGirl schoolGirl;
    Persuit(SchoolGirl girl){
    this.schoolGirl=girl;
    }

    @Override
    public void giveChocolate() {
    System.out.println("persuit gives chocolate");
    }

    @Override
    public void giveDolls() {
    System.out.println("persuit gives dolls");
    }

    @Override
    public void giveFlowers() {
    System.out.println("persuit gives flowers");
    }
    }



/**

  • @Author: cxh

  • @CreateTime: 18/1/3 21:01

  • @ProjectName: JavaBaseTest
    */
    public class Proxy extends Gift {
    private Persuit persuit;
    Proxy(SchoolGirl girl){
    persuit=new Persuit(girl);
    }

    @Override
    public void giveChocolate() {
    persuit.giveChocolate();
    }

    @Override
    public void giveDolls() {
    persuit.giveDolls();
    }

    @Override
    public void giveFlowers() {
    persuit.giveFlowers();
    }
    }



/**

  • @Author: cxh
  • @CreateTime: 18/1/3 21:02
  • @ProjectName: JavaBaseTest
    */
    public class SchoolGirl {
    private String name;
    SchoolGirl(String name){
    this.name=name;
    }
    }

<span style="font-size:14px;">
输出:


Process finished with exit code 0


<span style="font-size:14px;">

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读