一 :概述:代理模式就是给其他对象提供代理,获取对这个对象的访问
二: 下面以一个例子来讲述什么事代理模式:
学校要考试了,小高学习成绩不好,于是让小王来替考,在这里就用到了代理模式
先定义一个考试接口
public interface Test{
//考试的接口
public void work();
}
定义小王的考试类:
public class XiaoWang extends Activity implements Test {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
@Override
public void work() {
// TODO Auto-generated method stub
System.out.println("小王在考试");
}
定义小高的考试类:
public class XiaoGao implements Test {
private Test test;
//小高也有考试的功能
public XiaoGao(){
this.test = new XiaoWang();
}
public XiaoGao(Test test){
this.test = test;
}
@Override
public void work() {
// TODO Auto-generated method stub
//名字是小高的,其实是小王在做题
test.work();
}
定义考场:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//老师以为是小高在考试,其实是小王在做题
XiaoGao gao = new XiaoGao();
gao.work();
}
}
github地址为:https://github.com/zhouwei5200/agency