`
youanyyou
  • 浏览: 196513 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java类的设计技巧

阅读更多
1)一定将数据设计为私有。
最重要的是: 绝对不要破坏封装性。在有的时候,需要编写一个访问器方法或更改器方法,但是最好还是保持实例域的私有性。很多惨痛的经验告诉我们,数据的表示形式很可能会改变,但他们的使用方式却不会经常发生变化。当数据保持私有时,他们的表示形式的变化不会对类的使用者产生影响,即使出现bug也易于检测。
2)一定要对数据初始化。
java不对局部变量进行初始化,但是会对对象的实例域进行初始化。最好不要依赖于系统的默认值,而是应该显式地初始化所有的数据,具体的初始化方式可以是提供默认值,也可以是在所有构造器中设置默认值。
3)不要在类中使用过多的基本数据类型。

就是说,用其他的类代替多个相关的基本数据类型的使用。这样会使类更加易于理解且易于修改
4)不是所有的域都需要独立的域访问器和域更改器。
或许,需要获得或设置雇员的薪金。而一旦构造了雇员对象,就应该禁止雇佣日期,并且在对象中,常常包含一些不希望别人获得或设置的实例域,

 5)使用标准格式进行类的定义
一定采用下面的顺序书写类的内容
 公有访问特性部分
包作用域访问特性部分
私有访问特性部分
在每一部分中,应该按照下列顺序列出
实例方法
静态方法
实例域
静态域 
6)将职责过多的类进行分解
 
7)类名和方法名要能够体现他们的职责
 

 

 

深圳人才网 深圳招聘网 深圳人才招聘网 深圳人才大市场 

企业、个人免费注册,获取想要的 深圳 软件工程师招聘信息 月薪最低3000-8000,更有高端猎头职位 

www.szrcwz.com                                                                                                                                           

                  Google 提供的广告

分享到:
评论
20 楼 Leon.Wood 2010-09-29  
7454103 写道
     太多的 “一定”!
     实际作用:一般!
      鉴定完毕! 欢迎拍砖!

不由自主的顶一个
19 楼 月落码农 2010-09-28  
你这是在抄书吧?
18 楼 xiangdefei 2010-09-28  
think in java or eff java 这两本其中一本书中的。。
17 楼 lewisw 2010-09-28  
<div class="quote_title">youanyyou 写道</div>
<div class="quote_div">
<div><span style="color: #993300;">2)一定要对数据初始化。 </span></div>
<div><span style="color: #993300;">java不对局部变量进行初始化,但是会对对象的实例域进行初始化。最好不要依赖于系统的默认值,而是应该显式地初始化所有的数据,具体的初始化方式可以是提供默认值,也可以是在所有构造器中设置默认值。</span></div>
<div>
<span><span> </span></span>
</div>
</div>
<div><br></div>
<div><br></div>
<div>这一点个人认为没有必要。并且就我接触的,包括大部分开源项目源码里和呆过的大部分公司的项目里,都没有对实例域进行没必要的初始化。 尤其在构造器里去写十几个变量等于null或0或false的,看起来都头晕。 局部变量能不初始化就不初始化,比如:</div>
<div><br></div>
<div>
<div class="quote_div">        User user = null; // or new User();<br><br>        if (a == b) {<br><span style="white-space: pre;"> </span>user = userDao.getUser();<br>        } else {<br><span style="white-space: pre;"> </span>user = sessionUtil.getUser();<br>        }<br>
</div>
</div>
<div> </div>
<div>看到太多的类似代码, IDE(intellij idea)马上报黄色警告。</div>
<div><br></div>
16 楼 7454103 2010-09-28  
     太多的 “一定”!
     实际作用:一般!
      鉴定完毕! 欢迎拍砖!
15 楼 fool_leave 2010-09-28  
asme2u 写道
freish 写道
1)一定将数据设计为私有。


这个肯定是不合理的

如果处处都合理的话,java设计之初就不会让public修饰类的属性了

同意,就我自己来说,对于私有的内部类,我基本使用public字段代替私有字段加getter和setter


将get和set去掉,用public变量取代,实际上是有一个问题存在的。问题不是存在于开发过程中,而是程序的适应性。考虑一下,如果你写的组件有100个子程序调用,使用同一个变量。
例如:
你的Student类有一个String studentCardID;
getStudentCardID方法有100个地方被调用,而且程序已经上线n久了。
现在学校规定,在显示的studentCardID前必须加上"#"标记。你需要做的其实很简单,修改一个方法。
public String getStudentCardID(){
   return "#"+studentCardID;
}
这样就会省去修改整个系统的风险。而如果不用get方法来实现,则很可能面临修改整个系统。

当然,上面的例子对于程序员来说不是很爽,谁也不希望get方法里还要对数据处理,这样的代码不严谨。但在现实世界里,成本往往说了算。

14 楼 aoliwen521 2010-09-28  
play framework框架给点文档,其模型的部分属性就直接使用的public修饰。
13 楼 darwintest 2010-09-28  
说的很基本,不错
12 楼 aimicheng 2010-09-28  
肤浅的技巧
11 楼 hardPass 2010-09-28  
Freedom!
10 楼 shi5228313 2010-09-28  
final static 写在最上面是checkStykle规范吧啊。。这些都好正常的,没必要说吧?
9 楼 clarkamx 2010-09-28  
这是哪本书上写着的来着?
8 楼 zzknight 2010-09-28  
纸上得来终觉浅..
7 楼 elementstorm 2010-09-28  
asme2u 写道
freish 写道
1)一定将数据设计为私有。


这个肯定是不合理的

如果处处都合理的话,java设计之初就不会让public修饰类的属性了

同意,就我自己来说,对于私有的内部类,我基本使用public字段代替私有字段加getter和setter


就是啊,java自己的源码里都有用到不少的public字段
6 楼 Javakeith 2010-09-27  
很熟悉!好像是在java code里!看过!
5 楼 Leon.Wood 2010-09-27  
<div class="quote_title">youanyyou 写道</div>
<div class="quote_div">
<div>
<span style="color: #993300;">1)一定将数据设计为私有。<br>最重要的是: 绝对不要破坏封装性。在有的时候,需要编写一个访问器方法或更改器方法,但是最好还是保持实例域的私有性。很多惨痛的经验告诉我们,数据的表示形式很可能会改变,但他们的使用方式却不会经常发生变化。当数据保持私有时,他们的表示形式的变化不会对类的使用者产生影响,即使出现bug也易于检测。</span>                  <a href="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-4914818119943102&amp;output=html&amp;h=90&amp;slotname=6429866262&amp;w=728&amp;lmt=1285571276&amp;flash=10.1.53.64&amp;url=http%3A%2F%2Fyouanyyou.iteye.com%2Fblog%2F772824&amp;dt=1285571276500&amp;shv=r20100909&amp;jsv=r20100917&amp;correlator=1285571276500&amp;frm=0&amp;adk=1965243879&amp;ga_vid=1813892377.1285571277&amp;ga_sid=1285571277&amp;ga_hid=1180002008&amp;ga_fc=0&amp;u_tz=480&amp;u_his=57&amp;u_java=1&amp;u_h=768&amp;u_w=1024&amp;u_ah=738&amp;u_aw=1024&amp;u_cd=32&amp;u_nplug=0&amp;u_nmime=0&amp;biw=1007&amp;bih=611&amp;ref=http%3A%2F%2Fyouanyyou.iteye.com%2Fadmin%2Fblogs%2F772824&amp;fu=0&amp;ifi=1&amp;dtd=46&amp;xpc=e2yT8FYiw2&amp;p=http%3A//youanyyou.iteye.com" target="_blank"></a>
</div>
</div>
<p><br>实际上,我们产品里有些地方是不这样的,并且不可以这样</p>
4 楼 asme2u 2010-09-27  
freish 写道
1)一定将数据设计为私有。


这个肯定是不合理的

如果处处都合理的话,java设计之初就不会让public修饰类的属性了

同意,就我自己来说,对于私有的内部类,我基本使用public字段代替私有字段加getter和setter
3 楼 selvenfx2009 2010-09-27  
freish 写道
1)一定将数据设计为私有。


这个肯定是不合理的

如果处处都合理的话,java设计之初就不会让public修饰类的属性了

+1
2 楼 freish 2010-09-27  
1)一定将数据设计为私有。


这个肯定是不合理的

如果处处都合理的话,java设计之初就不会让public修饰类的属性了
1 楼 anhaoy 2010-09-27  
很好。不过,对于:
引用

5)使用标准格式进行类的定义
一定采用下面的顺序书写类的内容
公有访问特性部分
包作用域访问特性部分
私有访问特性部分
在每一部分中,应该按照下列顺序列出
实例方法
静态方法
实例域
静态域 

要加一个:
final static 修饰的静态域,放在最上面!

相关推荐

    Java程序设计技巧1001例

    《Java程序设计技巧1001例》是一个深入学习Java编程的资源集合,包含了大量实例,旨在帮助开发者提升技能和理解Java语言的核心概念。通过这1001个实例,我们可以系统地掌握Java语言的各个方面,包括基础语法、面向...

    Java程序设计技巧与开发实例.rar

    Java程序设计技巧与开发实例Java程序设计技巧与开发实例Java程序设计技巧与开发实例Java程序设计技巧与开发实例Java程序设计技巧与开发实例

    Java程序设计技巧与开发实例

    本资源“Java程序设计技巧与开发实例”深入探讨了Java编程中的关键技术和实用策略,旨在帮助开发者提升编程效率和代码质量。 首先,Java的设计原则包括“Write Once, Run Anywhere”(一次编写,到处运行),这得益...

    java程序设计技巧1001个实例

    在"Java程序设计技巧1001个实例"中,我们可以深入学习如何利用Java进行高效的程序开发。这个资料集涵盖了从基础到高级的Java编程技巧,通过1001个实例,帮助开发者巩固和提升技能。 1. **基础概念**:Java的基础...

    JAVA程序设计技巧1001例

    在《JAVA程序设计技巧1001例》中,我们深入探讨了Java编程的各种实用技巧和最佳实践,这些实例旨在帮助开发者提升技能,优化代码,提高程序效率。本书覆盖了从基础到高级的广泛主题,适合各个层次的Java开发者学习。...

    Java程序设计技巧1001例简明教程

    Java程序设计技巧1001例java简明教程里面有很都例子可以学习

    java程序设计技巧1001例

    《Java程序设计技巧1001例》是一部深入探讨Java编程技术的著作,旨在通过丰富的实例来提升读者的编程能力和技巧。在这个压缩包中,我们首先看到的是"java程序设计技巧1001例(001)"这个文件,这可能是系列教程的第一...

    java程序设计技巧

    Java程序设计技巧是涵盖了许多关于如何有效、高效地编写Java代码的主题。在Java编程中,掌握这些技巧可以显著提升代码质量、可读性以及运行效率。以下是一些关键的Java程序设计技巧,它们将帮助你成为一名更优秀的...

    JAVA程序设计说明书

    本说明书将深入探讨Java程序设计的基本概念、语法结构以及实战技巧。 一、Java语言基础 1.1 类与对象:Java是一种面向对象的语言,它通过类来描述对象的属性和行为。类是创建对象的模板,而对象是类的实例。理解类...

    java课程设计.zip

    在本Java课程设计中,我们将探索四个不同的项目,它们展示了Java编程语言在实际应用中的多样性。这些项目包括动物换位游戏、网上交易系统、新闻发布系统以及学生信息管理系统。每个项目都提供了独特的学习机会,让...

    java程序设计技巧千例.rar

    Java程序设计技巧千例压缩包包含了丰富的学习资源,旨在帮助开发者深入理解和掌握Java编程的各种技巧。这个包聚焦于Java语言的核心特性和高级用法,通过大量的实例解析,旨在提升编程能力,解决实际问题。 首先,...

    Java 程序设计技巧1001例

    在《Java程序设计技巧1001例》中,涵盖了Java编程语言的多个核心领域,旨在帮助开发者提升技能,优化代码,以及解决实际问题。这个资源不仅提供了丰富的示例,还可能包含了对Java语言特性的深入解析,以及如何在实践...

Global site tag (gtag.js) - Google Analytics