云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 郑州大学软件学院设计模式

郑州大学软件学院设计模式

  • 62 次阅读
  • 3 次下载
  • 2025/4/30 21:58:00

stu3=stu1.clone(); stu3.setStuName(\小龙女\ stu3.setStuSex(\女\ System.out.print(\姓名:\+ stu1.getStuName()); System.out.print(\,性别:\+ stu1.getStuSex()); System.out.print(\,年龄:\+ stu1.getStuAge()); System.out.print(\,专业:\+ stu1.getStuMajor()); System.out.print(\,学院:\+ stu1.getStuCollege()); System.out.print(\,学校:\+

stu1.getStuUniversity()); System.out.println(); System.out.print(\姓名:\+ stu2.getStuName()); System.out.print(\,性别:\+ stu2.getStuSex()); System.out.print(\,年龄:\+ stu2.getStuAge()); System.out.print(\,专业:\+ stu2.getStuMajor()); System.out.print(\,学院:\+ stu2.getStuCollege()); System.out.print(\,学校:\+

stu2.getStuUniversity()); System.out.println(); System.out.print(\姓名:\+ stu3.getStuName()); System.out.print(\,性别:\+ stu3.getStuSex()); System.out.print(\,年龄:\+ stu3.getStuAge()); System.out.print(\,专业:\+ stu3.getStuMajor()); System.out.print(\,学院:\+ stu3.getStuCollege()); System.out.print(\,学校:\+

stu3.getStuUniversity());

System.out.println(); } }

原型管理器

import java.util.*;

interface MyColor extends Cloneable { public Object clone(); public void display(); }

class Red implements MyColor {

public Object clone() {

Red r=null; try {

r=(Red)super.clone(); }

catch(CloneNotSupportedException e) { }

return r; }

public void display() {

System.out.println(\ } }

class Blue implements MyColor {

public Object clone() {

Blue b=null; try {

b=(Blue)super.clone(); }

catch(CloneNotSupportedException e) {

}

return b; }

public void display() {

System.out.println(\ } }

class PrototypeManager {

private Hashtable ht=new Hashtable();

public PrototypeManager() {

ht.put(\ ht.put(\ }

public void addColor(String key,MyColor obj) {

ht.put(key,obj); }

public MyColor getColor(String key) {

return

(MyColor)((MyColor)ht.get(key)).clone(); } }

class Client {

public static void main(String args[]) {

PrototypeManager pm=new PrototypeManager();

MyColor

obj1=(MyColor)pm.getColor(\ obj1.display();

MyColor

obj2=(MyColor)pm.getColor(\ obj2.display();

System.out.println(obj1==obj2); } }

单例模式

实例一:身份证号码

在现实生活中,居民身份证号码具有唯一性,同一个人不允许有多个身份证号码,第一次申请身份证时将给居民分配一个身份证号码,如果之后因为遗失等原因补办时,还是使用原来的身份证号码,不会产生新的号码。现使用单例模式模拟该场景。 public class Client { public static void main(String a[]) { IdentityCardNo no1,no2; no1=IdentityCardNo.getInstance(); no2=IdentityCardNo.getInstance(); System.out.println(\身份证号码是否一致:\

String str1,str2;

str1=no1.getIdentityCardNo(); str2=no1.getIdentityCardNo();

System.out.println(\第一次号码:\str1);

System.out.println(\第二次号码:\str2);

System.out.println(\内容是否相等:\+ str1.equalsIgnoreCase(str2));

System.out.println(\是否是相同对象:\ } }

public class IdentityCardNo { private static IdentityCardNo

instance=null; private String no; private IdentityCardNo() { } public static IdentityCardNo getInstance() { if(instance==null) { System.out.println(\第一次办理身份证,分配新号码!\ instance=new IdentityCardNo();

instance.setIdentityCardNo(\2\ } else { System.out.println(\重复办理身份证,获取旧号码!\ } return instance; } private void setIdentityCardNo(String no) { this.no=no; } public String getIdentityCardNo() { return this.no; } }

实例二:打印池 在操作系统中,打印池(Print Spooler)是一个用于管理打印任务的应用程序,通过打印池用户可以删除、中止或者改变打印任务的优先级,在一个系统中只允许运行一个打印池

对象,如果重复创建打印池则抛出异常。现使用单例模式来模拟实现打印池的设计。 public class Client { public static void main(String a[]) { PrintSpoolerSingleton ps1,ps2; try {

ps1=PrintSpoolerSingleton.getInstance(); ps1.manageJobs(); } catch(PrintSpoolerException e) {

System.out.println(e.getMessage()); }

System.out.println(\ try {

ps2=PrintSpoolerSingleton.getInstance(); ps2.manageJobs(); } catch(PrintSpoolerException e) {

System.out.println(e.getMessage()); } } }

public class PrintSpoolerException extends Exception { public PrintSpoolerException(String message) { super(message); } }

public class PrintSpoolerSingleton { private static PrintSpoolerSingleton instance=null; private PrintSpoolerSingleton() { } public static PrintSpoolerSingleton getInstance() throws PrintSpoolerException { if(instance==null) { System.out.println(\创建打印池!\ instance=new PrintSpoolerSingleton(); } else { throw new PrintSpoolerException(\打印池正在工作中!\ } return instance; } public void manageJobs() { System.out.println(\管理打印任务!\ } } 其他

public class Singleton { private static Singleton instance = null; private Singleton() { } public static Singleton getInstance()

{ if(instance==null)

instance=new Singleton();

return instance;

}

}

外观模式

实例一:电源总开关

现在考察一个电源总开关的例子,以便进一步说明外观模式。为了使用方便,一个电源总开关可以控制四盏灯、一个风扇、一台空调和一台电视机的启动和关闭。通过该电源总开关可以同时控制上述所有电器设备,使用外观模式设计该系统。 public class AirConditioner { public void on() { System.out.println(\空调打开!\ } public void off() { System.out.println(\空调关闭!\ } }

public class Client { public static void main(String args[]) { GeneralSwitchFacade gsf=new GeneralSwitchFacade(); gsf.on(); System.out.println(\ gsf.off(); }

}public class Fan {

搜索更多关于: 郑州大学软件学院设计模式 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

stu3=stu1.clone(); stu3.setStuName(\小龙女\ stu3.setStuSex(\女\ System.out.print(\姓名:\+ stu1.getStuName()); System.out.print(\,性别:\+ stu1.getStuSex()); System.out.print(\,年龄:\+ stu1.getStuAge()); System.out.print(\,专业:\+ stu1.getStuMajor()); System.out.print(\,学院:\+ stu1.getStuCollege()); System.out.print(\,学校:\+ stu1.getStuUniversity()); System.out.println(); Sys

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com