JAVA类设计技巧

java类设计技巧

1)一定要将数据设计为private

    最重要的是,绝对不要破坏封装性。有时候,需要编写一个访问器方法或更改器方法,但是最好还是保持实例域的私有性。很多惨痛的经验告诉我们,数据的表示形式可能会改变,但它们的使用方式却不会经常发生变化。当数据保持私有时,它们的表示形式的变化不会对类的使用者产生影响,即使出现Bug也易于检测。

 

2)一定要对数据初始化

    java不对数据变量进行初始化,但是会对对象的实例域进行初始化,最好不要依赖于系统的默认值,而是应该显式的初始化所有的数据,具体的初始化方式可以是提供默认值,也可以是在所有构造器中涉及默认值。

 

3)不要在类中使用过多的基本数据类型

   就是说,用其他的类代替多个相关的基本数据类型的使用。这样会使类更加易于理解且易于修改。例如,用一个称为Address的新的类替换下面的Customer类中的实例域:

   private String street;

   private String city;

   private String state;

   private int zip;

   这样,可以很容易地顺应地址的变化,例如,需要增加对国际地址的处理。

 

4)不是所有的域都需要独立的域访问器和域更改器

  或许,需要获得或设置雇员的薪金。而一旦构造了雇员对象,就应该禁止更改雇用日期,并且在对象中,常常包含一些不希望别人获得或设置的实例域,例如,在Address类中,存放州缩写的数组。

 

5)使用标准格式进行类的定义

一定采用下面的顺序书写类的内容:

共有访问特性部分

包作用域访问特性部分

私有访问特性部分

在每一部分中,应该按照以下顺序:实例方法、静态方法、实例域、静态域

毕竟,类的使用者对公有接口要对比私有的实现细节更感兴趣,并且对方法要比对数据更感兴趣。

 

6) 将职责过多的类进行分解

  这样说似乎有点含糊不清,究竟多少算是“过多”?每个人的看法不同,但是,如果明显地可以将一个复杂的类分解成两个更为简单的类,就应该将其分解(但另一方面,也不要走极端,设计十个类,每个类只有一个方法,显然也太小了)

 

7)类名和方法名要能够体现他们的职责。

  与变量应该有一个能够反映其含义的名字一样,类也应该如此(标准类库中,也存在着一些含义不明的例子,如:Date类实际上是一个用于描述事件的类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值