首页 > 其他分享 >10.4

10.4

时间:2025-01-02 15:31:26浏览次数:1  
标签:customer Customer 10.4 婚介所 Person public findPartner

软件设计                  石家庄铁道大学信息学院

 

实验14:代理模式

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

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

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

 
   

 


[实验任务一]:婚介所

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

实验要求:

1.     提交类图;

 

2. 提交源代码;

// 人员接口

interface Person {

    void findPartner();

}

 

// 客户类(需要找对象的人)

class Customer implements Person {

    private String name;

    private int age;

 

    public Customer(String name, int age) {

        this.name = name;

        this.age = age;

    }

 

    @Override

    public void findPartner() {

        System.out.println(name + "正在寻找伴侣。");

    }

 

    public int getAge() {

        return age;

    }

}

 

// 婚介所代理类

class MatchmakingAgencyProxy implements Person {

    private Person customer;

 

    public MatchmakingAgencyProxy(Person customer) {

        this.customer = customer;

    }

 

    @Override

    public void findPartner() {

        if (customer.getAge() < 18) {

            System.out.println("对不起,不能早恋!");

            return;

        }

        System.out.println("婚介所开始为 " + ((Customer) customer).getName() + " 寻找合适的伴侣。");

        customer.findPartner();

        System.out.println("婚介所帮助 " + ((Customer) customer).getName() + " 完成了寻找伴侣的过程。");

    }

}

 

public class Main {

    public static void main(String[] args) {

        // 创建一个16岁的客户

        Person customer1 = new Customer("小明", 16);

        Person proxy1 = new MatchmakingAgencyProxy(customer1);

        proxy1.findPartner();

 

        // 创建一个25岁的客户

        Person customer2 = new Customer("小红", 25);

        Person proxy2 = new MatchmakingAgencyProxy(customer2);

        proxy2.findPartner();

    }

}

3. 注意编程规范。

 

 

标签:customer,Customer,10.4,婚介所,Person,public,findPartner
From: https://www.cnblogs.com/jais/p/18647868

相关文章

  • PDF-XChange Editor Plus(PDF编辑器) v10.4.4.392 便携版
    PDF-XChangePRO-使用PDF的通用解决方案。包含了Tracker软件的三个最佳应用程序的软件包:PDF-XChangeEditorPlus,PDF-Tools和PDF-XChangeStandard。使用PDF-XChangeEditorPlus,您可以创建,查看和编辑图像和PDF文件。PDF-Tools在创建和处理PDF文件方面处于世界领先地位。得益于......
  • Cellebrite Inseyets PA 10.4 - 取证数据分析软件
    CellebriteInseyetsPA10.4-取证数据分析软件CellebriteInseyets10-尖端的移动设备数字取证解决方案DigitalForensicSoftware请访问原文链接:https://sysin.org/blog/cellebrite-inseyets/,查看最新版。原创作品,转载请保留出处。>作者主页:sysin.orgCellebrite......
  • Cellebrite Inseyets PA 10.4 - 取证数据分析软件
    CellebriteInseyetsPA10.4-取证数据分析软件CellebriteInseyets10-尖端的移动设备数字取证解决方案DigitalForensicSoftware请访问原文链接:https://sysin.org/blog/cellebrite-inseyets/,查看最新版。原创作品,转载请保留出处。>作者主页:sysin.orgCellebriteInsey......
  • 10.4(学号:3025)
    importnumpyasnpimportstatsmodels.formula.apiassmfimportpylabasplta=np.loadtxt('F:\python数学建模与算法\源程序\《Python数学建模算法与应用》程序和数据//10第10章回归分析/data10_4.txt');x1=a[0];x2=a[1];y=a[2]plt.rc('axes',unicode_minus=......
  • ex10.4
    点击查看代码importnumpyasnpimportstatsmodels.formula.apiassmfimportpylabasplta=np.loadtxt('F:\python数学建模与算法\源程序\《Python数学建模算法与应用》程序和数据//10第10章回归分析/data10_4.txt');x1=a[0];x2=a[1];y=a[2]plt.rc('axes',......
  • dynamsoft_barcode_reader_bundle Python 10.4.2000
    RevolutionizingInventoryManagementinWarehouseswithDronesandBarcodeScanningTechnologydynamsoft_barcode_readerAsbusinessesscaleandsupplychainsbecomemorecomplex,inventorymanagementhasemergedasacriticalchallengeforwarehouseopera......
  • Dynamsoft Barcode Reader SDK Java 10.4.2000
    ImprovingVendorManagementEfficiencywithOCRandDocumentProcessingEffectivevendormanagementintoday’sdynamicbusinesslandscapeofteninvolveshandlinglargevolumesofphysicaldocuments,whichposesasignificantchallenge.Extractingkeydeta......
  • 2024.10.4 ROS第五章结束,复习背包问题模型 + codeforces刷刷题
    项目学习总结ROS第五章主要是学习了坐标变换,实际用途还是好理解的,比方说地面基地控制无人机追鸟。坐标变换主要是用tf这个包实现的。可以实现静态坐标变换,动态坐标变换和多坐标变换。静态和动态变换的关键函数:ps_out=buffer.transform(ps,"base_link");动态变换里面主要是......
  • Dynamsoft Barcode Reader SDK C++ 10.4.10 Crack-24.7.22
    DynamsoftBarcodeReaderDocumentationforC++EditionDynamsoftBarcodeReader(DBR)SDKC++EditionisabarcodereadingtooldesignedspecificallyforC++developers.LeveragingtheefficiencyandflexibilityoftheC++language,DBRC++Editionprovid......
  • Cisco Nexus 9000 Series Switches, NX-OS Standalone 10.4(3)F and ACI Mode 16.0(6c
    CiscoNexus9000SeriesSwitches,NX-OSStandalone10.4(3)FandACIMode16.0(6c)MincludeApplicationPolicyInfrastructureController(APIC)Release6.0(6c)M请访问原文链接:https://sysin.org/blog/cisco-nexus-9000/,查看最新版。原创作品,转载请保留出处。作者主页......