10.23日报

今天完成软件设计实验,以下为实验内容:

实验7:单例模式

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

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

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

 
   

 

 

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

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

实验要求:

1.  画出对应的类图;

 

2.  提交源代码;

  1. public class Student {
        private static Student instance; // 静态实例
       
    private int studentId; // 学生ID

        //
    私有构造函数
       
    private Student() {
        }

        // 获取单例对象
       
    public static synchronized Student getInstance() {
            if (instance == null) {
                instance = new Student();
            }
            return instance;
        }

        // 设置学生ID
       
    public void setStudentId(int id) {
            studentId = id;
        }

        // 获取学生ID
       
    public int getStudentId() {
            return studentId;
        }

        public static void main(String[] args) {
            // 获取学生对象并设置学号
           
    Student student1 = Student.getInstance();
            student1.setStudentId(20240001);

            // 再次获取学生对象,应该与student1相同
           
    Student student2 = Student.getInstance();

            // 输出学号,验证两个对象是否为同一对象
           
    System.out.println("Student 1 ID: " + student1.getStudentId());
            System.out.println("Student 2 ID: " + student2.getStudentId());
        }
    }

 

3.注意编程规范。

 

posted @ 2024-11-27 10:20  Code13  阅读(7)  评论(0)    收藏  举报