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;">
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。