代理模式
 
婚介所其实就是找对象的一个代理,请仿照我们的课堂例子“论坛权限控制代理”完成这个实际问题,其中如果年纪小于18周岁,婚介所会提示“对不起,不能早恋!”,并终止业务。
 
1. 提交类图;
 
![]()
 
 
 
2. 提交源代码;
 
Client.java
public class Client {
    public static void main(String[] args) {
        AbstractPermission permission;
        permission = new MatrimonialAgency();
        System.out.println("未成年人...");
        permission.toMatch();
        System.out.println("**************************************************");
        System.out.println("年龄大于18...");
        permission.setLevel(1);
        permission.toMatch();
    }
}
 
MatrimonialAgency.java
public class MatrimonialAgency implements AbstractPermission{
    private RealPermission permission = new RealPermission();
    private int level = 0;
    @Override
    public void setLevel(int level) {
        this.level = level;
    }
    @Override
    public void toMatch() {
        if(level == 0){
            System.out.println("对不起,不能早恋!");
        } else if (level == 1){
            permission.toMatch();
        }
    }
}
 
AbstractPermission.java
public interface AbstractPermission {
    public void setLevel(int level);
    public void toMatch();
}
 
RealPermission.java
public class RealPermission implements AbstractPermission{
    @Override
    public void setLevel(int level) {
    }
    @Override
    public void toMatch() {
        System.out.println("赶紧找对象");
    }
}
 
 
 
 
3. 注意编程规范。