软件设计模式————(代理模式)
1.软件设计模式————(简单工厂模式)2.软件设计模式————(工厂方法模式)3.软件设计模式————(抽象工厂模式)4.软件设计模式————(建造者模式)5.软件设计模式————(原型模式)6.软件设计模式————(单例模式)7.软件设计模式————(适配器模式)8.软件设计模式————(桥接模式)9.软件设计模式————(组合模式)10.软件设计模式————(装饰模式)11.软件设计模式————(外观模式)12.软件设计模式————(享元模式)
13.软件设计模式————(代理模式)
14.软件设计模式————(命令模式)15.软件设计模式————(解释器模式)16.软件设计模式————(迭代器模式)17.软件设计模式————(中介者模式)18.软件设计模式————(备忘录模式)19.软件设计模式————(观察者模式)20.软件设计模式————(职责链模式)[实验任务一]:婚介所
婚介所其实就是找对象的一个代理,请仿照我们的课堂例子“论坛权限控制代理”完成这个实际问题,其中如果年纪小于18周岁,婚介所会提示“对不起,不能早恋!”,并终止业务。
实验要求:
1. 提交类图;
2. 提交源代码;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | 复制代码 1 package tutorial14; 2 3 import java.util.Scanner; 4 5 public class Client { 6 7 public static void main(String[] args) { 8 // TODO 自动生成的方法存根 9 10 AbstractMatchMaking amm= new MatchMakingProxy(); 11 System.out.println( "*******欢迎来到婚介所*******" ); 12 System.out.println( "您可以简单浏览一下我们的嘉宾信息...." ); 13 amm.viewInformation(); 14 System.out.println( "*******请登记一下您的基本信息*******" ); 15 System.out.println( "您的年龄:" ); 16 Scanner in = new Scanner(System.in); 17 int age=in.nextInt(); 18 amm.improveInformation(age); 19 if (age>= 18 ) { 20 amm.postAnnouncement(); 21 } 22 23 } 24 25 } 复制代码 复制代码 1 package tutorial14; 2 3 public interface AbstractMatchMaking { 4 5 public void viewInformation(); 6 public void postAnnouncement(); 7 public void improveInformation( int age); 8 } 复制代码 复制代码 1 package tutorial14; 2 3 public class MatchMaking implements AbstractMatchMaking{ 4 5 @Override 6 public void viewInformation() { 7 // TODO 自动生成的方法存根 8 System.out.println( "您正在浏览查看婚介对象基本信息" ); 9 } 10 11 @Override 12 public void postAnnouncement() { 13 // TODO 自动生成的方法存根 14 System.out.println( "您发布了一条征婚启事,请注意查收结果消息" ); 15 } 16 17 @Override 18 public void improveInformation( int age) { 19 // TODO 自动生成的方法存根 20 21 } 22 23 } 复制代码 复制代码 1 package tutorial14; 2 3 public class MatchMakingProxy implements AbstractMatchMaking{ 4 5 private MatchMaking client= new MatchMaking(); 6 private int age= 18 ; 7 @Override 8 public void viewInformation() { 9 // TODO 自动生成的方法存根 10 System.out.println( "您正在浏览查看婚介对象基本信息" ); 11 12 } 13 14 @Override 15 public void postAnnouncement() { 16 // TODO 自动生成的方法存根 17 if (age>= 18 ) { 18 System.out.println( "发布征婚启事" ); 19 } else if (age< 18 ) { 20 System.out.println( "对不起,不能早恋!" ); 21 } 22 } 23 24 @Override 25 public void improveInformation( int age) { 26 // TODO 自动生成的方法存根 27 28 this .age=age; 29 if (age< 18 ) { 30 System.out.println( "对不起,不能早恋!" ); 31 } else if (age>= 18 ) { 32 System.out.println( "信息登记完成......" ); 33 } 34 } 35 36 } 复制代码 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix