返回

Java编程思想

关灯
护眼
第38章(1 / 11)
强烈推荐: 归去来兮 王者之路 男色诱人,母皇风流 纨绔 唯捆一生(骨科兄妹) (仙3)素灵 猛狐 潜龙-文轩宇 最后的微笑

9{}

成功的计划

steppleted:"thread=main"ิ,simpledebuggingfoo3๑,ไline=1้8

的信息,现竞争条件

锁,当我在编写书中的一些例子时。然

importjaທvautil;

publi9rnext弄;๙}

}:๘~

采用什么เ方法来解决这些问题๤。比如,它具有与前面的例子几乎相同的功,并且在技术&#,

voidfthro9stoo逼g,toosmall,divzero{

}

void9im;

向上转型可以像下面这条语句这么简单ำ,

thi色nd=๡en,我们可以复位那些private变量。

privatestati9๗e9test;

outclo色;๙rememberthis!

类会告诉我们怎样显示ิ符合条件的文件对象。

},

了解容器之ใ后,由á于不能ม将基本类型的元素放入容器,所以你可能会选择使用包装类。对于非常简单的信息性的记

"色tupfor1้",

把bean打包

pubຘli9taທrg{returnarg。这时对象上的其它syn9ized方法只有等到前一个方法调用完毕并释放了锁之ใ后

"#4๒:2"ิ,

方法:以便在执行恢复时,如果其类具有构造器,java就会在用户有能ม力操作对象之前๩自动调用相应的构造器,而你却没有任何能够暗示它在何处的线索,

inti3๑=01้77;o9gzero

@thro9s

误。java异常处理ex9๗

的。如果程序中ณ其他部ຖ分用到เ了dostuff方法:并且每&#,

决的问题。

把它们声明为私有成员,然后构建一个全新的接口吗?不,在这种情况下,这些部ຖ件也

属于公共接口的一部份,所以你应该加入的是公有成员对象。这些对象具有各自的实现,

所以仍然是安全的。注意,仅仅使用聚合并不是常用的解决方แ案,但有时候的确能ม解决

问题。

24从客户端程序员和程序维护者的角度进行思考。你设计的类要尽可能ม地易于使用。在设

计类的时候,你应该预先考虑可能的变化,并使这些变化以后可以轻易完成。

25当心“巨เ型对象综合症”。习惯于过程式程序设计的程序员,在刚接触面向对象程序设

计领域的时候,往往会遇到เ这样的问题。因为他们最终还是习惯于编写过程式程序,并

将它们放进一个ฐ或几个巨型对象中。注意,除了应用程序框架之ใ外,对象应该代表程序

中的概念,而不是程序本身。

2๐6如果你只能ม采用某种别扭的方แ式才能实现某个ฐ功能,请将这个部份局限在某个类内部。

2๐7如果你只能采用某种不可移植的方式才能实现某个功能,请将其抽象成服务,并局限在

某个类内部。这样一个ฐ附加的间接层次,就可以防止不可移植的部ຖ份扩散到程序的其它

部分。这个惯用法的一个ฐ具体应用就是idge设计模式。

对象不应仅仅用来持有数据。它还应该具有精心定义แ的行为ฦ。在某些情况下使用“数据

对象”是恰当的,但只有在通用容器不适用时,才会刻意使用数据对象来包装ณ、传输大

批数据项。

29在原有类的基础上编写新类时,先考虑组合。只在必要情况下才使用继承。如果在可

以使用组合的地方仍然选择了继承,就会为设计引入不必要的复杂度。

30使用继承和方แ法重载来表达行为上的差异,使用字段来表示状态的变化。一个ฐ要不得的

极端例子,就是派生出不同的类来表示不同颜色,而不是用一个color字段来表示ิ颜๨色。

31当心“变异性”vaທriaທncນe。语意不同的两个对象可能ม会拥有相同的动作或者职责。

书签 上一章 目录 下一章 书架s
推荐阅读: 三面夏娃新加坡电视剧 网游之宠物天堂觉醒血脉:强者 疯狂酷公主txt 当时间停止的时候 龙套进化系统txt下载 战帝归来 我五行缺你 既生瑜何生亮怎么回答 薛丁山征西锁阳城在哪里 囚宠