首页 > 其他分享 >实验7:单例模式

实验7:单例模式

时间:2023-11-06 09:00:49浏览次数:34  
标签:StudentID String 模式 instance 实验 单例 public

实验7:单例模式

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

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

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

 

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

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

实验要求:

1. 画出对应的类图;

2.提交源代码;

3.注意编程规范。

package test;

 

public class Client {

public static void main(String[] args) {

StudentID stu1,stu2;

stu1=StudentID.getStudentID();

stu2=StudentID.getStudentID();

String str1,str2;

str1=stu1.getID();

str2=stu2.getID();

System.out.println("第一次学号:"+str1);

System.out.println("第二次学号:"+str2);

}

}

2.

package test7;

 

public class StudentID {

private static StudentID instance=null;

private String ID;

 

public String getID() {

return ID;

}

 

public void setID(String iD) {

ID iD;

}

 

private StudentID()

{

 

}

 

public static StudentID getStudentID()

{

if(instance==null) {

instance=new StudentID();

instance.setID("20194080");

}

else

{

System.out.println("一个学生只能有一个学号");

}

return instance;

}

}

标签:StudentID,String,模式,instance,实验,单例,public
From: https://www.cnblogs.com/lin513/p/17811778.html

相关文章

  • 实验6:原型模式
    实验6:原型模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解原型模式的动机,掌握该模式的结构;2、能够利用原型模式解决实际问题。 [实验任务一]:向量的原型用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比......
  • 实验三 类与数组,指针
    Task1:point.hpp:#pragmaonce#include<iostream>usingstd::cout;usingstd::endl;classPoint{public:Point(intx0=0,inty0=0);~Point()=default;intget_x()const;intget_y()const;voidshow()const;voidm......
  • 实验三
    #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()......
  • 实验三 类与数组、指针
     1.实验任务1point.hpp1#include<iostream>2#include"point.hpp"3#include<vector>4usingstd::vector;5usingstd::cin;6//输出vector<Point>对象内所有点的坐标7voidoutput(constvector<Point>&v){8for(aut......
  • 实验 3
    1.hpp#include<iostream>usingstd::cout;usingstd::endl;classPoint{ public: Point(intx0=0,inty0=0); ~Point()=default; intget_x()const; intget_y()const; voidshow()const; voidmove(intnew_x,intnew_y); private: ......
  • 实验三 类与数组指针
    第一个任务#pragmaonce#include<iostream>usingstd::cout;usingstd::endl;classPoint{public:Point(intx0=0,inty0=0);~Point()=default;intget_x()const;intget_y()const;voidshow()const;voidmove(intnew......
  • 实验3_C语言函数应用编程
    task1.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);//函数声......
  • 实验3 类与数组、指针
    1、实验任务1源码Point.hpp#pragmaonce#include<iostream>usingstd::cout;usingstd::endl;classPoint{public:Point(intx0=0,inty0=0);~Point()=default;intget_x()const;intget_y()const;voidshow()const;void......
  • 实验三
    任务一task1.cpp点击查看代码#include<iostream>#include"point.hpp"#include<vector>usingstd::vector;usingstd::cin;voidoutput(constvector<Point>&v){for(auto&t:v)t.show();}voidtest(){intn;cin>>n;v......
  • 实验三 类与数组,指针
    任务1:1.代码:point.hpp:1#pragmaonce23#include<iostream>4usingstd::cout;5usingstd::endl;6classPoint{7public:8Point(intx0=0,inty0=0);9~Point()=default;10intget_x()const;11intget_y()const;12voidshow(......