类设计技巧
- 一定要保证数据私有
这是最重要的;绝对不要破坏封装性.有时候,需要编写一个访问器方法或更改器方法,但是最好还是保持实例域的私有性.很多惨痛的经验告诉我们,数据的表示形式很可能会改变,但他们的使用方式却不会经常发生变化.当数据爆出私有时,它们表示形式的变化不会对类的使用者产生影响,即出现bug也易于检测.
- 一定要对数据初始化
java不对局部变量进行初始化(这里指默认),但是会对对象的实例域进行初始化.最好不要依赖于系统的默认值,而是应该显示地初始化所有的数据,具体的初始化方式可以是提供默认值,也可以是在所有构造器中设置默认值.
- 不要在类中使用过多的基本类型
就是说,用其他的类代替多个相关的基本类型的使用.这样会使类更加易于理解且易于修改.例如:用一个称为Address的新的类替换一个Customer类中以下的实例域:
private String street; private String city; private String state; private int zip;
- 不是所有的域都需要独立的域访问器和域更改器
或许,需要获得或设置雇员的薪金.而一旦构造了雇员对象,就应该禁止更改雇佣日期,并且在对象中,常常包含一些不希望别人获得或设置的实例域.
- 将职责过多的类进行分解
这样说似乎有点模糊,究竟多少算过多?每个人的看法不同,但是如果明显的可以将一个复杂的类分解成两个更为简单的类,就应该将其分解.
- 类名和方法名能够体现他们的职责
- 优先使用不可变类