设计模式答辩_能源化工_工程科技_专业资料

设计模式答辩_能源化工_工程科技_专业资料

ID:42855228

大小:97.99 KB

页数:17页

时间:2019-09-23

设计模式答辩_能源化工_工程科技_专业资料_第1页
设计模式答辩_能源化工_工程科技_专业资料_第2页
设计模式答辩_能源化工_工程科技_专业资料_第3页
设计模式答辩_能源化工_工程科技_专业资料_第4页
设计模式答辩_能源化工_工程科技_专业资料_第5页
资源描述:

《设计模式答辩_能源化工_工程科技_专业资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《大话设计模式》设计模式简单介绍&学习总结13700107庄鹏学号:姓名:完成日期:目录:口录目录:2代理模式模式详解31真实场景&实例代码:3真实场景:3实例代码:32模式带來的优缺点设计思想6优点:6缺点:6设计思想:6定义:6思想与使用场景:6工厂模式详解83真实场景&实例代码:8真实场景:8实例代码:84模式带來的优缺点设计思想10优点:10缺点:10设计思想:10定义:10思想与使用场景:10原型设计模式详解125真实场景&实例代码:12真实场景:12实例代码:122模式带来的优缺点设计思想13优点:13缺点:13设计思想:13

2、定义:13思想与使用场景:13设计模式总结141设计模式的由来:141、1由来:141>2设计模式的分类:142设计模式的依据:141>根木依据:142、依据的开发原则:152设计模式的本质:154感悟:15代理模式模式详解要求:写实例代码,真实场景,使用这种模式带來的优缺点设计思想1真实场景&实例代码:真实场景:当修改类A的数时,将这个数字乘以100赋给类B,而修改类B时,要将数除以100赋给类Ao类A类B互相影响实例代码:abstractclassAbstractcolleague{protectedintnumber;publici

3、ntgetNumber(){returnnumber;}publicvoidsetNumber(intnumber){this,number=number;}〃注意这里的参数不再是同事类,而是一个代理publicabstractvoidsetNumber(intnumber;AbstractMediatoram);}classColleagueAextendsAbstractColleague{publicvoidsetNumber(intnumber;AbstractMediatoram){this,number=number;am.A

4、affectB();}}classColleagueBextendsAbstractColleague{@OverridepublicvoidsetNumber(intnumber,AbstractMediatoram){this.number=number;am.BaffectA();}}abstractclassAbstractMediator{protectedAbstractColleagueA;protectedAbstractColleagueB;publicAbstractMediator(AbstractColleague

5、a,Abstractcolleagueb){A=a;B=b;}publicabstractvoidAaffectB();publicabstractvoidBaffectA();}classMediatorextendsAbstractMediator{publicMediator(AbstractColleaguea,Abstractcolleagueb){super(a,b);}〃处理A对B的影响publicvoidAaffectB(){intnumber=A.getNumber();B.setNumber(number*100);}

6、〃处理B对A的影响publicvoidBaffectA(){intnumber=B.getNumber();A.setNumber(number/100);}}publicclassClient{publicstaticvoidmain(String[]args){AbstractColleaguecollA二newColleagueA();AbstractColleaguecollB=newColleagueB();AbstractMediatoram=newMediator(collA,collB);System.out.printl

7、n(“H==二二二二二二通过设置A影响B==========H);collA.setNumber(1000,am);System.out.println("collA的number值为:"+collA.getNumber());System.out.println("collB的number值为A的10倍:"+collB.getNumber());System.out.println(“H==二二二二二二通过设置B影响A==========");collB.setNumber(1000,am);System.out.println("co

8、llB的number值为:"+collB.getNumber());System.out.println("collA的number值为B的0.1倍:"+collA.getNumber());

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。