admin 管理员组文章数量: 1086019
2024年4月15日发(作者:html与css入门经典pdf)
实验一:单例模式
实验内容:
单例模式:创建一个主席类(Chairman),保证整个项目中只能创捷一个主席,主席的名
称是“测试”。
单例模式:创建一个元帅类(Marshall),保证整个项目中只能创捷十个元帅,元帅的名称
是:“”。
测试:创建一个测试类SingletonClient,测试上面的创建对象的正确性。
设计
SingletonClient
+testSingleton()
+testMultiton()
Chariman
-static Chairman chairman
-String name
+get
-Chairman(String name)
+static Chairman getInstance()
+static void compChairman(Chairman
chairman1,chairman2)
+static void printMarshalls()
Marshall
-static Set
-static ArrayList
-String name
+get
-Marshall(String name)
+static Marshall getInstance(String name)
+static void printMarshalls()
图 1 单例模式类图
核心代码
核心代码
private Chairman(String name){
= name;
}
private static Chairman chairman = new Chairman("");
public static Chairman getInstance(){
return chairman;
}
核心代码
private static ArrayList
private static ArrayList
static {
String[] marshallNames ={" "};
for (int i = 0;i<;i++ ) {
(new Marshall(marshallNames[i]));
}
}
private Marshall(String name){
= name;
}
public static Marshall getInstance(String name){
for (Marshall marshall: marshalls) {
if (e() == name){
boolean flag = true;
for (Marshall mar : select){
if (mar == marshall) flag = false;
break;
}
if (flag) (marshall);
return marshall;
}
}
return null;
}
实现效果
图 2 单例模式实现效果图
实验体会
这次实验实现了单例设计模式和多例设计模式的小demo,深入体会了什么是单、多例
模式和单、多例模式的精髓,在打代码的过程中有些时候有些对象需要保持唯一性,比如这
个世界上只有一个地球,只有一个中国;一所学校里面的校长只有一个;一个国家只有一个
主席;一个餐厅的老板只有一个等等;多例也就是限定了个数,其思想与单例类似,很多时
候我们要考虑实际情况,之前可能自己的代码不够完善,有些需要单例的时候没有做到单例,
导致了代码的不严谨,在以后的编程中,我会让自己变得更加的敏锐,多从实际角度出发,
这样也可以避免一些不必要的错误。
版权声明:本文标题:单例模式实验报告 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1713111864a620436.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论