2023年面向对象系统分析和设计综合实验报告

更新时间:2023-05-18 07:01:05 阅读: 评论:0

实验名称:实验4 设计模型实验2                    学期:2023-2023学年 学期 
一、实验目的
1纯熟使用面向对象设计原则对系统进行重构;
2纯熟使用面向对象编程语言(JAVA或C++)实现几种常见的设计模式,涉及单例模式策略模式、装饰模式和适配器模式理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验规定
1. 选择合适的面向对象设计原则对系统进行重构,对的无误地绘制重构之后的类图;
2. 结合实例,对的无误地绘制单例模式策略模式装饰模式和适配器模式结构图;
3. 实现单例模式策略模式装饰模式和适配器模式,代码运营对的无误。
三、实验内容
1. 现实生活中,居民身份证号码具有唯一性,同一个人不允许有多个身份证号码,第一次申请身份证时将号码分派给居民,假如之后由于遗失等因素补办时,还是使用本来的身份证号码,不会产生新号码,现使用单例模式模拟该场景。
1)类图日本全面侵华
2)实现代码:户口迁移证
public class IdClient {
    public static void main(String[] args) {
        IdentityCardNo.getInstance();
        IdentityCardNo.getInstance();
    }
}
package Refactoring1;
public class IdentityCardNo {
    private static IdentityCardNo instance;
    private String no;
    private IdentityCardNo() {
    }
    public static IdentityCardNo getInstance() {
        if (instance == null) {
            System.out.println("第一次办理身份证,分派新号码");
            instance = new IdentityCardNo();
            instance.tNo("No");
            System.out.println("身份证号码为:" + instance.getNo());
叶根友
        } el {
            System.out.println("反复办理身份证,获取旧号码!");
        }
我的小米云服务        return instance;
    }
    public String getNo() {
        return no;
    }
    public void tNo(String no) {
        this.no = no;
    }
}
2. 每一麻将局都有两个骰子,因此骰子就应当是双例类。现使用例模式模拟该场景。
1)类图
2)实现代码:
import java.util.Date;
import java.util.Random;劳动心得50字
public class Dice {
通时达变
    private 独坐敬亭山的意思static Dice die1 = new Dice();
    private static Dice die2 = new Dice();
    private Dice() {
   
    }
    public static Dice getInstance(int whichOne) {
        if (whichOne == 1) {
            return die1;
        } el {
            return die2;
        }
    }淮南是几线城市
   
    public synchronized int dice() {
        Date d = new Date();
        Random r = new Random(d.getTime());
        int value = r.nextInt();
        value = Math.abs(value);
        value = value % 6;
        value += 1;
        return value;
    }
}
import java.util.Random;
import java.util.Date;
public class DiceClient {
    private static Dice die1, die2;

本文发布于:2023-05-18 07:01:05,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/678241.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模式   号码   身份证   使用   实验   单例
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图