- 1、本文档共112页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
方法间的有效重用——提高方法内部的设计效率。 方法、成员变量等的修饰符的合理使用——考察可见性、静态、终止、抽象等修饰的合理安排。 类实例化的价值、被继承的价值、实例化的数量、实例化的成功与失败、加载与卸载环节的特殊需求等。 临界资源分析——考察线程安全性并选择合理的并发方案。 探讨整个类有没有进行进一步抽象或分离的必要——设计过程是一个推理演化的过程,超类抽象、接口抽象、类的分离(然后再组合)可能都会在类的审查重构时候发生。 8)对类进行充分的测试 在测试驱动模式下,设计的过程也是测试的过程,这样不仅能够有效地完成设计,也会促使类的编程接口更加友好。一般情况下,可以针对每个事物类编写一个甚至多个测试类,这些测试类,也可以作为事物类的应用实例。 2. 单词分解类 在简单地进行程序设计的情况下,单词分解可能是一个很简单的问题,如Copyright(C) 2010 XXX.这一句话分解的结果是Copyright、C、2010、XXX共四个单词,如果用程序来表达,下面的一段代码可以完成单词分解的功能: public class analyzer{ public static void main(String[] args) { String sentence=Copyright(C) 2010 XXX.; //原始句子 String separator= ,;().; //分隔符 int i, j; i=0; while(isentence.length()){//循环流程:跳过连续的分隔符,取出一个单词 if (separator.indexOf(sentence.charAt(i))=0) {++i; continue;} //跳过连续的分隔符 j=i; //当前字符一定是一个单词的开始 while (isentence.length() separator.indexOf(sentence.charAt(i))==-1) ++i; //跳过单词到下一个分隔符或者字符串结束 System.out.println(sentence.substring(j,i)); //取出一个单词 } } } 上述代码中有效的内容不过10行左右,但是这样进行程序设计,仅仅是完成了一次查找和输出过程,不仅可能没有完成任务,甚至是做了不该做的事情,难于满足使用者(程序员)的要求,因而可复用的价值很低。实际的需求可能就是“设计一个单词分解类”,[语意不清,请核对]但如果能够仔细研究一下,从满足各种可能的用户期望的角度考虑,再充分考虑代码的可复用性以及对象的重用性,那么如下的类的设计描述(API形式)也仅能反映出部分需求: public class analyzer{ private String sentence; //原始句子 private String[] identifier; //单词(此处使用数组而不是ArrayList等类型,增加一点实现上的难度) private String separator= ,;; //分隔符 private int sPos=0; public analyzer(String sen, String sep); //构造方法,构造时完成分解 public void setSentence(String s); //更改句子的方法,在更改的过程中也完成分解 public void setSeparator(String s); //更改分隔符的方法,在更改的过程中也完成分解 private void make(); //分解方法 public String getString(int pos); //取出指定序号位置的单词的方法 public String getString(); //按顺序取出一个单词的方法 } 从上述并不完整的设计方案中可以看出,要想设计好一个类,有时已经不是在于总结和学习设计技术方法的层面了,而是在于用心,简单地说,就是多从用户需求的角度考虑,既要满足具体需求,也要具备灵活性。 6.5.7 多类设计实例 类和类之间的关系,最常见的特殊关系有两种:包含和继承。包含是一种简单的关系,因而本小节主要通过继承问题讨论多类的设计,
您可能关注的文档
- Linux系统应用基础教程课件作者张小进第05章节磁盘文件与目录管理.ppt
- Linux系统应用基础教程课件作者张小进第06章节Linux的包管理.ppt
- Linux系统应用基础教程课件作者张小进第08章节shell编程.ppt
- Linux系统应用基础教程课件作者张小进第09章节网络应用.ppt
- Linux系统与网络管理课件作者赵尔丹项目1Linux操作系统的安装与启动.ppt
- Linux系统与网络管理课件作者赵尔丹项目2linux的桌面管理.ppt
- Linux系统与网络管理课件作者赵尔丹项目3linux命令行操作基础.ppt
- Inventor工业产品设计项目教程课件作者马玥桓5任务1领夹式双头U盘.ppt
- 工程图学第3版课件作者高金莲11第十一章节零件图.ppt
- Linux系统与网络管理课件作者赵尔丹项目4Linux用户与组的建立与管理.ppt
最近下载
- 铷铯及其化合物,中国前8强生产商排名及市场份额调研数据.docx
- AQ 1064-2008 煤矿用防爆柴油机无轨胶轮车安全使用规范.pdf VIP
- 面瘫(面神经麻痹)中医临床路径.pdf
- 面瘫(周围性面神经炎)-中医诊疗指南-等级评审.pdf
- 众泰-T600-产品使用说明书-T600 2.0T 豪华型DCT-JNJ6460QT-T600车系使用手册20131201.pdf
- (2025新版本)人教版一年级数学下册全册教案.doc
- 自学考试专题:微生物遗传与育种复习题含答案.doc
- 《微生物的遗传变异和育种》考试复习题库资料及答案.pdf
- CRRT枸橼酸凝.ppt
- 煤矿井下辅助运输设计标准.pdf VIP
文档评论(0)