每日总结24

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

 

实验7:单例模式

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

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

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

 

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

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

实验要求:

1. 画出对应的类图;

 

 

2.提交源代码;

 

Client.java

package ruanshe7;

 

public class Client {

    public static void main(String a[]) {

        StudentID stu1,stu2;

        String id1,id2;

        System.out.println("第一次生成学生");

        stu1 = StudentID.getInstance();

 

        System.out.println("第二次生成学生");

        stu2 = StudentID.getInstance();

 

        System.out.println("两学生学号是否一致:" + (stu1==stu2));

 

        id1 = stu1.getStudentID();

        id2 = stu1.getStudentID();

        System.out.println("第一次产生的学号:" + id1);

        System.out.println("第二次产生的学号:" + id2);

        System.out.println("内容是否相等:" + id1.equalsIgnoreCase(id2));

        System.out.println("是否是相同对象:" + (id1==id2));

    }

}

StudentID.java

package ruanshe7;

 

public class StudentID {

    private static StudentID instance = null;

    private String id;

 

    private StudentID(){}

 

    public static StudentID getInstance() {

        if (instance == null) {

            System.out.println("学生信息注册,分配学号!");

            instance = new StudentID();

            instance.setStudentID("20214145");

        } else {

            System.out.println("学生信息已经被注册,获取其已经存在的学号!");

        }

        return instance;

    }

 

    private void setStudentID(String id) {

        this.id = id;

    }

 

    public String getStudentID() {

        return this.id;

    }

}

3.注意编程规范。

 

posted @   布吉岛???  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示