首页 > 其他分享 >软件设计实验7:单例模式

软件设计实验7:单例模式

时间:2023-11-03 20:26:41浏览次数:37  
标签:Arr StudentID instante 软件设计 public 实验 getOnly 单例 id

实验7:单例模式

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

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

2、能够利用单列模式解决实际问题。

 

[实验任务一]:学号的单一

仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。

实验要求:

1. 画出对应的类图;

 

 

2. 提交源代码;

import java.util.ArrayList;

public class Test {
    public static void main(String[] args) {
        ArrayList<String> Arr=new ArrayList<>();
        StudentID A=StudentID.getOnly_id(Arr);
        StudentID B=StudentID.getOnly_id(Arr);
        Arr.add(A.getOnly_id(Arr).get());
        Arr.add(B.getOnly_id(Arr).get());
    }
}

 

import java.util.ArrayList;

public class StudentID {
    private static StudentID instante;
    private String only_id;

    public String get(){
        System.out.println(this.only_id);
        return this.only_id;
    }

    public void set(String a){
        this.only_id = a;
    }

    StudentID(){}
    public static StudentID getOnly_id(ArrayList<String> Arr){
        if(Arr.size() == 0){
            instante = new StudentID();
            instante.set("0");
        }
        else if(instante != null){
            System.out.println("已经申请过空间,不可以再申请");
        }
        return instante;
    }
}

 

3.注意编程规范。

 

标签:Arr,StudentID,instante,软件设计,public,实验,getOnly,单例,id
From: https://www.cnblogs.com/DREAM2021/p/17808329.html

相关文章

  • 软件设计实验6:原型模式
     实验6:原型模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解原型模式的动机,掌握该模式的结构;2、能够利用原型模式解决实际问题。 [实验任务一]:向量的原型用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量......
  • 实验三
    #include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);//函数声明voidprint_spaces(intn);//函数声明voidprint_blank_lines(intn);//函数声明intmain()......
  • 实验三
    任务一task1.cpp1#include<iostream>2#include"point.hpp"3#include<vector>4usingstd::vector;5usingstd::cin;6voidoutput(constvector<Point>&v){7for(auto&t:v)8t.show();9}10voidtest()......
  • 实验3—C语言函数应用编程
    1、实验任务1源代码1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<windows.h>5#defineN806voidprint_text(intline,intcol,chartext[]);//函数声明7voidprint_spaces(intn);//函数声明8voidprint_b......
  • ensp实验,大一必学网工基础,数通HCIA内容,详细知识点集合
    1:交换机通信:两个pc端在一个网段内,不用单独配置交换机信息,不用设置网关地址,都能ping通2:路由器通信:Pc的网关地址是路由器的ip地址。路由器配置接口和地址Pc3pingpc4即可3:静态路由:静态路由配置好PC的ip地址、子网掩码、网关和路由器接口的地址信息。在R7路由器输入:[R7]iproute-stat......
  • 国产教学实验箱_嵌入式实验箱:3-4 mp3音频解码实验
    一、实验目的了解MP3文件的结构,掌握MP3音频解码的原理,并实现基于SYSBIOS系统,将MP3格式的音频解码为PCM格式。二、实验原理1、MP3音频格式MP3是一种音频压缩技术,其全称是动态影像专家压缩标准音频层面3(MovingPictureExpertsGroupAudioLayerIII),简称为MP3。它被设计用来大幅度地......
  • 实验三
     #include<stdio.h>intfunc(intn,intm);intmain(){intn,m;while(scanf("%d%d",&n,&m)!=EOF)printf("n=%d,m=%d,ans=%d\n",n,m,func(n,m));return0;}intfunc(intn,intm){if(n<m)......
  • JVM 调优实验
    JVM调优理论前言关于性能优化Therealproblemisthatprogrammershavespentfartoomuchtimeworryingaboutefficiencyinthewrongplacesandatthewrongtimes;prematureoptimizationistherootofallevil(oratleastmostofit)inprogramming.—D......
  • Linux 实验
    知识补充框架设计Linux操作可以分为本地操作和网络操作,操作对象主要是文件和目录,根据上述分类设计框架如下本地操作基础指令:系统一般内置目录目录切换:cd增删改查mkdirrmdir权限管理:chmodchmod命令的具体用法如下:chmod[选项]模式文件其中,模式是......
  • 操作系统实验——进程管理的算法实现
    前言笔者在大学下属的事业单位上班,最近去帮着带下操作系统的实验课,这里随手水点参考代码,欢迎各位领导老师莅临指正实验目标编写一个简单的进程调度器实验内容进程控制块(PCB)的定义与管理进程调度算法的实现进程创建、销毁和切换给定一批进程对比3-4种调度算法的时间(自选算......