- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5抽象工厂模式-单例模式答案
(4) 抽象工厂模式
电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。
interface CPU
{
void discribe();
}
interface RAM
{
void discribe();
}
class PcCPU implements CPU
{
public void discribe()
{
System.out.println(PcCPU);
}
}
class MacCPU implements CPU
{
public void discribe()
{
System.out.println(MacCPU);
}
}
class PcRAM implements RAM
{
public void discribe()
{
System.out.println(PcRAM);
}
}
class MacRAM implements RAM
{
public void discribe()
{
System.out.println(MacRAM);
}
}
interface ComputerPartsFactory
{
CPU produceCPU();
RAM produceRAM();
}
class PcFactory implements ComputerPartsFactory
{
public PcCPU produceCPU() {
System.out.println(PcCPU produced!);
return new PcCPU();
}
public PcRAM produceRAM() {
System.out.println(PcRAM produced!);
return new PcRAM();
}
}
class MacFactory implements ComputerPartsFactory
{
public MacCPU produceCPU() {
System.out.println(MacCPU produced!);
return new MacCPU();
}
public MacRAM produceRAM() {
System.out.println(MacRAM produced!);
return new MacRAM();
}
}
class ComputerPartsClient
{
public static void main(String a[])
{
ComputerPartsFactory factory;
CPU cpu;
RAM ram;
factory=(ComputerPartsFactory)XMLUtil.getBean();//Pc OR Mac
cpu=factory.produceCPU();
cpu.discribe();
ram=factory.produceRAM();
ram.discribe();
}
}
(6) 单例模式
用懒汉式单例实现在某系统运行时,其登录界面类LoginForm只能够弹出一个,如果第二次实例化该类则提示“程序已运行”。绘制类图并编程实现。
class LoginForm extends JFrame{ // Java.swing包中的JFrame类于创建窗口
private static LoginForm uniqueInstance=null;
private LoginForm()
{
//设置标题
this.setTitle(LoginForm);
this.setSize(400, 300); setSize(int width, int height)
//设置关闭按钮的事件
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//设置是否可见
this.setVisible(true);
}
public static LoginForm getInstance()
{
if(uniqueInstance==null)
{
uniqueInstance=new LoginForm
您可能关注的文档
- 2017届河北衡水中学高三摸底联考试卷-地理.doc
- 2017版高考数学一轮复习第七章不等式第2讲二元一次不等式(组)与简单的线性规划问题练习理.doc
- 2017版高考政治一轮复习练习必修一第三单元课时1个人收入的分配.doc
- 2017版高考数学一轮复习第七章不等式73二元一次不等式(组)与简单的线性规划问题文.doc
- 2017高考地理一轮总复习高频考点强化练1.doc
- 2017年高考文科数学一轮专题三不等式与线性规划听课手册.doc
- 2017高考地理一轮总复习高频考点强化练2.doc
- 2017高考地理一轮总复习第2部分人文地理专题训练15农业地域的形成与发展题组演练.doc
- 2017高考生物一轮复习第7单元第22讲人类遗传病及遗传系谱分析与应用新人教版.doc
- 2020年未来新型船舶展望2011.doc
原创力文档


文档评论(0)