实验14:代理模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解代理模式的动机,掌握该模式的结构;
2、能够利用代理模式解决实际问题。
[实验任务一]:婚介所
婚介所其实就是找对象的一个代理,请仿照我们的课堂例子“论坛权限控制代理”完成这个实际问题,其中如果年纪小于18周岁,婚介所会提示“对不起,不能早恋!”,并终止业务。
实验要求:
1. 提交类图;
2. 提交源代码;
3. 注意编程规范。
package ruanjiansheji.shiyan14; public interface AbstractMarriage { public void ViewInformation(); public void PublishMarriage(); public void setAge(int age); } package ruanjiansheji.shiyan14; 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 ruanjiansheji.shiyan14; 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 ruanjiansheji.shiyan14; 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; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!