大三打卡(10.26)

实验14:代理模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解代理模式的动机,掌握该模式的结构;

2、能够利用代理模式解决实际问题。

 
   

 


[实验任务一]:婚介所

婚介所其实就是找对象的一个代理,请仿照我们的课堂例子“论坛权限控制代理”完成这个实际问题,其中如果年纪小于18周岁,婚介所会提示“对不起,不能早恋!”,并终止业务。

实验要求:

1.     提交类图;

 

2.     提交源代码;

package RJSJ.test14;

 

public interface  AbstractMarriage {

    public void ViewInformation();

    public void PublishMarriage();

    public void setAge(int age);

}

package RJSJ.test14;

 

import java.util.Scanner;

 

public class Main {

    public static void main(String[] args) {

            // TODO 自动生成的方法存

             MarriageProxy marriageProxy=new MarriageProxy();

             marriageProxy.ViewInformation();

             System.out.println("您的年龄:");

             Scanner in =new Scanner(System.in);

             int age=in.nextInt();

             marriageProxy.setAge(age);

             marriageProxy.PublishMarriage();

    }

}

package RJSJ.test14;

 

public class Marriage implements AbstractMarriage{

    @Override

    public void ViewInformation() {

        System.out.println("浏览婚姻介绍所");

    }

 

    @Override

    public void PublishMarriage() {

        System.out.println("发布信息");

    }

 

    @Override

    public void setAge(int age) {

 

    }

}

package RJSJ.test14;

 

public class MarriageProxy implements AbstractMarriage{

    private Marriage marriage = new Marriage();

    private  int age;

 

    @Override

    public void ViewInformation() {

        System.out.println("浏览婚姻介绍所");

    }

 

    @Override

    public void PublishMarriage() {

        if(age>=18){

            System.out.println("发布婚姻介绍");

        }else{

            System.out.println("请先满足18岁才能发布婚姻介绍");

        }

    }

 

    @Override

    public void setAge(int age) {

        this.age = age;

    }

}

3. 注意编程规范。

 

 

posted @   夏季彼岸德  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示