首页 > 其他分享 >软件设计模式————(代理模式)

软件设计模式————(代理模式)

时间:2024-11-21 14:30:37浏览次数:1  
标签:软件设计 18 void System 模式 代理 println public out

[实验任务一]:婚介所

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

实验要求:

1. 提交类图;

 

2. 提交源代码;

复制代码
 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 }
复制代码

  

3. 注意编程规范。

标签:软件设计,18,void,System,模式,代理,println,public,out
From: https://www.cnblogs.com/youxiandechilun/p/18560679

相关文章

  • 软件设计模式————(桥接模式)
    [实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。实验要求:1.画出对应的类图; 2.提交源代码; publicclassBusimplementsVehicle{@Overridepublicvoiddrive(){System.out.print("大巴");}}......
  • 软件设计模式————(组合模式)
    [实验任务一]:组合模式用透明组合模式实现教材中的“文件夹浏览”这个例子。实验要求:1.文件的执行不需真正实现,只需简单提示即可;(类图) 2.提交源代码;publicabstractclassAbstractFile{publicabstractvoidadd(AbstractFileele);publicabstractvoidrem......
  • 软件设计模式————(装饰模式)
    [实验任务一]:手机功能的升级用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人;而JarPhone除了声音还能振动;更高级的手机(ComplexPhone)除了声音、振动外,还有灯光闪烁提示。实验要求:1.提交类图; 2.提交源代码;packagetest11;publi......
  • 软件设计模式————(外观模式)
    [实验任务一]:计算机开启在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load()),如果某一过程发生错误则计算机启动失败。......
  • 软件设计模式————(抽象工厂模式)
    [实验任务一]:人与肤色使用抽象工厂模式,完成下述产品等级结构: 实验要求:1.画出对应的类图; 2.提交源代码;publicclassBlackFactoryimplementsPeopleFactory{@OverridepublicManproduceMan(){returnnewBlackMan();}@Override......
  • 软件设计模式————(建造者模式)
    [实验任务一]:计算机组装使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起构成计算机,计算机的类型可以是笔记本,也可以是台式机。实验要求:1.画出对应的类图; 2.提交源代码;Java1.BuilderpublicabstractclassBuilder{......
  • 软件设计模式————(原型模式)
    [实验任务一]:向量的原型用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆方式的异同。实验要求:1.画出对应的类图; 2.提交源代码(用C++完成);#include<iostream>usingnamespacestd;//向量类classVector{p......
  • 软件设计模式————(单例模式)
    [实验任务一]:学号的单一仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。实验要求:1.画出对应的类图; 2.提交源代码; packagetest7;publicclassClient{publicstaticvoidmain(String[]args){StudentIDstu1,stu2;stu1=StudentID.getStudent......
  • 软件设计模式————(适配器模式)
    [实验任务一]:双向适配器实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。实验要求:1.画出对应的类图; 2.提交源代码;packagetest8;publicclassAdapterimplementsCat,Dog{privateCatcat=newRealcat();privateDogdog=newRealdog();publicv......
  • 软件设计模式————(工厂方法模式)
    [实验任务一]:加密算法目前常用的加密算法有DES(DataEncryptionStandard)和IDEA(InternationalDataEncryptionAlgorithm)国际数据加密算法等,请用工厂方法实现加密算法系统。实验要求:1.画出对应的类图; 2.提交该系统的代码,该系统务必是一个可以能够直接使用的系统,查阅资料完......