代理模式
软件设计 石家庄铁道大学信息学院
实验14:代理模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解代理模式的动机,掌握该模式的结构;
2、能够利用代理模式解决实际问题。
[实验任务一]:婚介所
婚介所其实就是找对象的一个代理,请仿照我们的课堂例子“论坛权限控制代理”完成这个实际问题,其中如果年纪小于18周岁,婚介所会提示“对不起,不能早恋!”,并终止业务。
实验要求:
1. 提交类图;
2. 提交源代码;
package Agent_model;
public class Client {
public static void main(String[] args) {
Proxy proxy=new Proxy();
Real real=new Real();
real.setAge(20);
System.out.println("满足条件用户30岁");
proxy.setReal(real);
proxy.lovers();
real.setAge(16);
System.out.println("不满足用户16岁");
proxy.setReal(real);
proxy.lovers();
}
}
package Agent_model;
public class Proxy implements People{
private Real real=new Real();
public void setReal(Real a){
real=a;
}
public void setAge(int Age){
}
public void lovers(){
if(real.getAge()<18){
System.out.println("对不起,您还未满18岁,不能早恋!");
}
else{
real.lovers();
}
}
}
package Agent_model;
public class Real implements People{
private int age=0;
public void setAge(int Age){
age=Age;
}
public int getAge(){
return age;
}
public void lovers(){
System.out.println("已为您匹配到最佳伴侣");
}
}
package Agent_model;
public interface People {
public void setAge(int Age);
public void lovers();
}
3. 注意编程规范。