- 1、本文档共71页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章 -设计原则(Java)
如何去遵守这六个原则 OCP事例 public class Car { private String name; private String fdj; public String getName(){ return name; } public void setName(String name){ =name; } public String getFdj(){ return fdj; } public void setFdj(String fdj){ this.fdj=fdj; } public void print(){ System.out.println(引擎是+fdj+的+name); } public static void main(String[] args){ Car car= new Car(); car.setFdj(V6发动机); car.setName(宝马); car.print(); } } OCP public class CarModi { private String name; private IEng fdj; public String getName(){ return name; } public void setName(String name){ =name; } public IEng getFdj(){ return fdj; } public void setFdj(IEng fdj){ this.fdj=fdj; } public void print(){ System.out.println(引擎是+fdj.getFdj()+的+name); } public static void main(String[] args){ CarModi car= new CarModi(); car.setFdj(new V6Fdj()); car.setName(宝马); car.print(); } } interface IEng{ public String getFdj(); } class V6Fdj implements IEng{ private String fdj=V6; public String getFdj(){ return fdj; } } class V8Fdj implements IEng{ private String fdj=V8; public String getFdj(){ return fdj; } } 开—闭原则(OCP) 一个软件实体应当对外扩展开放,对修改关闭。 一种可变性不应当分散于很多代码片段中,而应当被封装到一个对象中。同一种可变性的不同表象意味着同一继承等级结构中的具体子类。 一种可变性不应当与另一种可变性混合在一起。类的实际应该具备特定的可变性而不是众多的可变性。 讨论 class?Animal{?? ????public?void?breathe(String?animal){?? ????????System.out.println(animal+呼吸空气);?? ????}?? }?? public?class?Client{?? ????public?static?void?main(String[]?args){?? ????????Animal?animal?=?new?Animal();?? ????????animal.breathe(牛);?? ????????animal.breathe(羊);?? ????????animal.breathe(猪);?? ????}?? }??public void breathe(String animal){System.out.println(animal+}public static void main(String[] args){Animal animal = new Animal();animal.breathe(animal.breathe(animal.breathe(} 运行结果: 牛呼吸空气羊呼吸空气猪呼吸空气 class?Terrestrial{?? ????public?void?breathe(String?animal){?? ????????System.out.pr
您可能关注的文档
- 第8章 吸光光度法.ppt
- 第8章 NAT技术.ppt
- 第8章 基于经验证据的技术分析.ppt
- 第8章 应用举例(备用).doc
- 第8章 完全垄断市场产量和价格决定.ppt
- 第8章 数据采集(DAQ).ppt
- 第8章 文本水印技术.ppt
- 第8章 文件管理及错误管理.ppt
- 第8章 城市交通管理.ppt
- 第8周:沟通&语言.pptx
- 2025届衡阳市第八中学高三一诊考试物理试卷含解析.doc
- 2025届湖南省娄底市双峰一中等五校重点中学高三第二次诊断性检测物理试卷含解析.doc
- 天水市第一中学2025届高三第二次联考物理试卷含解析.doc
- 2025届金华市重点中学高三考前热身物理试卷含解析.doc
- 2025届北京市石景山区第九中学高三第四次模拟考试物理试卷含解析.doc
- 江苏扬州市2025届高三第一次模拟考试物理试卷含解析.doc
- 2025届江苏省南通市高级中学高考物理五模试卷含解析.doc
- 广东省清远市华侨中学2025届高三第一次调研测试物理试卷含解析.doc
- 辽宁省凤城市2025届高三第五次模拟考试物理试卷含解析.doc
- 内蒙古巴彦淖尔市重点中学2025届高考仿真卷物理试卷含解析.doc
文档评论(0)