首页 > 其他分享 >11.11日报

11.11日报

时间:2024-11-27 10:44:07浏览次数:8  
标签:name 日报 void 11.11 Person public findPartner String

今天完成了设计模式的实验十四,以下为实验内容:

实验14:代理模式

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

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

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

 
   

 

 

[实验任务一]:婚介所

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

实验要求:

1.     提交类图;

 

2.     提交源代码;

  1. // 人接口
    interface Person {
        void findPartner();
    }

    // 具体的人(成年人)
    class Adult implements Person {
        private String name;

        public Adult(String name) {
            this.name = name;
        }

        @Override
        public void findPartner() {
            System.out.println(name + " is looking for a partner.");
        }
    }

    // 具体的人(未成年人)
    class Minor implements Person {
        private String name;

        public Minor(String name) {
            this.name = name;
        }

        @Override
        public void findPartner() {
            System.out.println("Sorry, " + name + ", you can't date early!");
        }
    }

    // 婚介所(实际对象)
    class Matchmaker {
        public void findPartner(Person person) {
            person.findPartner();
        }
    }

    // 代理婚介所
    class ProxyMatchmaker {
        private Matchmaker matchmaker = new Matchmaker();

        public void findPartner(Person person) {
            if (person instanceof Minor) {
                System.out.println("Sorry, can't date early!");
            } else {
                matchmaker.findPartner(person);
            }
        }
    }

    // 客户端代码
    public class Client {
        public static void main(String[] args) {
            Person adult = new Adult("Alice");
            Person minor = new Minor("Bob");

            ProxyMatchmaker proxyMatchmaker = new ProxyMatchmaker();
            proxyMatchmaker.findPartner(adult); // Alice is looking for a partner.
           
    proxyMatchmaker.findPartner(minor); // Sorry, can't date early!
       
    }
    }

 

3. 注意编程规范。

 

 

标签:name,日报,void,11.11,Person,public,findPartner,String
From: https://www.cnblogs.com/lijianlongCode13/p/18571800

相关文章

  • 10.25日报
    今天完成了人机交互实验的部分内容,以下为部分代码:namespacetest1{partialclassForm1{///<summary>///必需的设计器变量。///</summary>privateSystem.ComponentModel.IContainercomponents=null;///<summary>......
  • 10.28日报
    今天完成了设计模式的实验,以下为今天的实验内容:实验8:适配器模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解适配器模式的动机,掌握该模式的结构;2、能够利用适配器模式解决实际问题。     [实验任务一]:双向适配器实现一个双向适配器,使得......
  • 10.29日报
    今天继续进行mes系统开发,准备进行一阶段验收,主要做一个车间内班组之间的流程,以下为我们小组探讨出的主要流程:接收任务:系统接收生产部下达的生产任务。生成产品批次二维码。领取任务:班长扫描二维码领取生产任务。根据每个人的生产效率进行派单。工人领取任务:工人扫描自己的二维......
  • 10.30日报
    今天完成设计模式的实验,以下为实验内容:实验9:桥接模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解桥接模式的动机,掌握该模式的结构;2、能够利用桥接模式解决实际问题。     [实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个......
  • 10.31日报
    完成设计模式实验:实验10:组合模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解组合模式的动机,掌握该模式的结构;2、能够利用组合模式解决实际问题。     [实验任务一]:组合模式用透明组合模式实现教材中的“文件夹浏览”这个例子。实验要......
  • 10.18日报
    上了软件构造和企业文化的课,下午上了人机交互的课,完成了部分实验内容,做了一个主界面以下为部分代码:namespacetest1{partialclassloginForm{///<summary>///Requireddesignervariable.///</summary>privateSystem.ComponentMode......
  • 10.21日报
    上午进行了软件设计的实验课,以下为实验内容:实验6:原型模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解原型模式的动机,掌握该模式的结构;2、能够利用原型模式解决实际问题。     [实验任务一]:向量的原型用C++完成数学中向量的封装,其中,用......
  • 10.17日报
    今天进行了机器学习B的实验,以下为实验内容:上机实验一:数据准备与模型评估1、实验目的熟悉Python的基本操作,掌握对数据集的读写实现、对模型性能的评估实现的能力;加深对训练集、测试集、N折交叉验证、模型评估标准的理解。2、实验内容(1)利用pandas库从本地读取iris数据......
  • 10.16日报
    上午上了软件设计的课,进行了软件设计的实验实验4:抽象工厂模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解抽象工厂模式的动机,掌握该模式的结构;2、能够利用抽象工厂模式解决实际问题。     [实验任务一]:人与肤色使用抽象工厂模式,完成下......
  • 10.15日报
    今天进行了mes系统的开发的学习,了解了mes系统开发的主要步骤,要明确目标,弄清楚需求分析报告的要求,并且设置对应的数据库,并且了解了如何绘制上下文图。下午完成软件设计实验以下为实验内容实验3:工厂方法模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解工厂方......