首页 > 其他分享 >实验14:代理模式

实验14:代理模式

时间:2024-11-11 09:08:54浏览次数:1  
标签:Real real 14 People void 婚介所 代理 实验 public

[实验任务一]:婚介所

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

实验要求:

1. 提交类图;

2. 提交源代码;

3. 注意编程规范。

 

1.类图

 

2.源代码

People.java
package test14;

public interface People {
    public void setAge(int Age);
    public void lovers();
}

Proxy.java
package test14;

public class Proxy implements People{
    private Real real=new Real();
    public void setReal(Real a){
        real=a;
    }
    public void setAge(int Age){
        
    }
    public void lovers(){
        if(real.getAge()<18){
            System.out.println("对不起,您还未满18岁,不能早恋!");
        }
        else{
            real.lovers();
        }
    }
}

Real.java
package test14;

public class Real implements People{
    private int age=0;
    public void setAge(int Age){
        age=Age;
    }
    public int getAge(){
        return age;
    }
    public void lovers(){
        System.out.println("已为您匹配到最佳伴侣");
    }
}

Client.java
package test14;

public class Client {
    public static void main(String[] args) {
        Proxy proxy=new Proxy();
        Real real=new Real();
        real.setAge(15);
        System.out.println("软小设15岁");
        proxy.setReal(real);
        proxy.lovers();
        real.setAge(21);
        System.out.println("我不是黄牛21岁");
        proxy.setReal(real);
        proxy.lovers();
    }
}

 

 

 

 

 

标签:Real,real,14,People,void,婚介所,代理,实验,public
From: https://www.cnblogs.com/po3a/p/18539046

相关文章

  • 实验12:外观模式
    [实验任务一]:计算机开启在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load()),如果某一过程发生错误则计算机启动失败。......
  • 实验13:享元模式
    [实验任务一]:围棋设计一个围棋软件,在系统中只存在一个白棋对象和一个黑棋对象,但是它们可以在棋盘的不同位置显示多次。实验要求:1.提交类图;2.提交源代码;3.注意编程规范;4.要求用简单工厂模式和单例模式实现享元工厂类的设计。1.类图 2.源代码Coordinates.javapackage......
  • 实验三
    任务一:button.hpp#pragmaonce#include<iostream>#include<string>usingstd::string;usingstd::cout;//按钮类classButton{public:Button(conststring&text);stringget_label()const;voidclick();private:stringla......
  • 实验3 类和对象
    实验任务1:代码:1#pragmaonce23#include<iostream>4#include<string>56usingstd::string;7usingstd::cout;89//按钮类10classButton{11public:12Button(conststring&text);13stringget_label()const;14vo......
  • 实验3 类和对象_基础编程2
    任务1:#pragmaonce#include<iostream>#include<string>usingstd::string;usingstd::cout;//按钮类classButton{public:Button(conststring&text);stringget_label()const;voidclick();private:stringlabel;};......
  • 实验四
    task1源代码:#include<stdio.h>#defineN4#defineM2voidtest1(){intx[N]={1,9,8,4};inti;//输出数组x占用的内存字节数printf("sizeof(x)=%d\n",sizeof(x));//输出每个元素的地址、值for(i=0;i<N;++i)......
  • 20222318 2024-2025-1 《网络与系统攻防技术》实验四实验报告
    1.实验内容1.1实验任务(1)恶意代码文件RaDa.exe类型标识、脱壳与字符串提取。(2)使用IDAPro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。(3)分析一个自制恶意代码样本rada,并撰写报告,回答问题。(4)取证分析实践:对于Snort收集的蜜罐主机5天的网络数......
  • 实验4
    任务1:#include<stdio.h>#defineN4#defineM2voidtest1(){intx[N]={1,9,8,4};inti;printf("sizeof(x)=%d\n",sizeof(x));for(i=0;i<N;++i){printf("%p:%d\n",&x[i],x[i]);}printf("x=......
  • c++实验三
    task1:代码:button.hpp:1#pragmaonce23#include<iostream>4#include<string>56usingstd::string;7usingstd::cout;89//按钮类10classButton{11public:12Button(conststring&text);13stringget_label()......
  • 实验4
    1:代码:#include<stdio.h>#defineN4#defineM2voidtest1(){intx[N]={1,9,8,4};inti;//输出数组x占用的内存字节数printf("sizeof(x)=%d\n",sizeof(x));//输出每个元素的地址、值for(i=0;i<N;++i)printf(......