`
lj2008
  • 浏览: 2554 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

类设计技巧(摘自Java核心编程)

阅读更多
应用这些技巧可以使得设计出来的类更具有OOP的专业水准。

1.一定要将数据设计为私有
  最重要的是:不要破坏封装性。

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

3.不要在类中使用过多的基本数据类型
  用其他的类代替多个相关的基本数据类型的使用。这样会使类更加易于理解且易于修改。

4.不是所有的域都需要独立的域访问器和域更改器
  在对象中,常常包含一些不希望他人获得或者设置的实例域。

5.使用标准格式进行类的定义
  一定采用下面的顺序书写类的内容:
  公有访问特性部分
  包作用域访问特性部分
  私有访问特性部分
  在每一部分中,应该按照下列顺序列出:
  实例方法
  静态方法
  实例域
  静态域
  毕竟,类的使用者对公有接口要比对私有的实现细节更感兴趣,并且对方法要比对数据更感兴趣。
  但是,哪一种风格更好并没有达成共识。Sun的程序设计风格建议Java程序设计语言先写域后书写方法。无论采用哪种风格,最重要一点就是要保持一致。

6.将职责过多的类进行分解
  如果明显地可以将一个复杂的类分解成两个更为简单的类,就应该将其分解(但另一方面,也不要走极端)。

7.类名和方法名要能够体现它们的职责
  类应该有个能够反映其含义的名字。命名类名的良好习惯是采用一个动词(Order)、前面有形容词修饰的名词(RushOrder)或动名词(有“-ing”后缀)修饰名词(例如,BillingAddress)。对于方法来说,习惯是访问器方法用小写get开头(getSalary),更改器方法用小写的set开头(setSalary)。
分享到:
评论

相关推荐

    java数组函数(摘自JAVA编程思想)

    在Java编程中,数组是一种非常基础且重要的数据结构,它允许我们存储同类型的多个元素。在处理大量数据时,数组提供了高效且灵活的访问方式。本篇将详细讲解Java中的数组函数及其应用,这些功能主要来自`...

    Java集合类源码(摘自jr源码)

    Java集合框架是Java编程语言中的核心部分,它提供了一组数据结构和算法,使得程序员能够高效地管理和操作数据。在给定的压缩包文件中,包含了一些关键的集合类源码,如`TreeMap`、`Hashtable`、`ArrayList`、`...

    java程序员必读基础篇 摘自南大百合精华篇

    本篇文章将根据“java程序员必读基础篇 摘自南大百合精华篇”的主题,深入探讨Java编程的核心概念,帮助读者构建扎实的Java知识体系。 1. **Java简介**:Java是由Sun Microsystems(后被Oracle收购)开发的一种面向...

    java编程那些事

    java编程那些事-摘自陈跃峰的博客:http://blog.csdn.net/Mailbomb/

    Java_Interest:计算复利的简单程序。 演示一个 for 循环。 摘自“Java 如何编程,10,早期对象”——第 5 章

    这个程序的核心在于理解和应用复利公式,以及掌握Java中的for循环结构。复利是金融领域的一个基本概念,它涉及到资金在一定时间周期内以一定的利率增长,并在每个周期结束时将利息加入本金,再次计算利息。这与简单...

    23种设计模式类图,摘自设计模式之禅(第2版)

    本压缩包文件包含了《设计模式之禅(第2版)》中的23种经典设计模式的类图,通过这些类图,我们可以更直观地理解和掌握这些模式的核心思想。 1. **单例模式**:确保一个类只有一个实例,并提供全局访问点。在C#中,...

    电子设计论文运放的应用(摘自OHM丛书)

    电子设计论文运放的应用,摘自OHM丛书,在电子工程领域具有重要的实用价值和理论意义。运放(运算放大器)是模拟电子设计中不可或缺的组件,广泛应用于各种电路设计,包括信号放大、滤波、积分、微分以及信号源的...

    Java-OOP-Cameron:摘自Dane Cameron的书“软件工程师学习Java和面向对象的编程”

    OOP(面向对象编程)是Java的核心编程范式之一,它基于类和对象的概念,提供了封装、继承、多态等特性,使得代码更加模块化,易于理解和维护。Dane Cameron的书“软件工程师学习Java和面向对象的编程”深入浅出地...

    行测资料分析技巧-摘自学宝公务员网站.doc

    - 文字资料:这类资料通常以叙述方式呈现,特点是数据隐藏在文字描述中,需要考生具备较强的阅读理解能力,找出关键信息。 - 表格资料:以表格形式展示数据,清晰直观,但当数据量大时易出错,考生应注意核对行、...

    ZeroMQ(java)window库

    ZeroMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。(摘自百度百科) ZMQ官方网址http://zeromq.org/ ZMQ本身只提供了C++版本的下载,...

    电子设计资料_运放的应用(摘自OHM丛书).zip

    总的来说,《电子设计资料_运放的应用(摘自OHM丛书)》这套资源集合了关于运放的基础理论、应用实例和设计技巧,对于电子设计者来说,是学习和提升运放应用技能的宝贵资料。通过深入研究和实践,可以更好地掌握运放的...

    DB2Java存储过程.pdf

    本部分内容摘自 IBM Redbooks 出版的一份文档,详细介绍了如何在 DB2 中使用 Java 实现存储过程,并涵盖了跨平台实施的指导。 - **出版日期**:2000 年 9 月。 - **适用版本**:适用于 DB2 Universal Database (UDB...

    电子设计电子竞赛毕业设计产品运放的应用(摘自OHM丛书)

    电子设计电子竞赛毕业设计产品运放的应用(摘自OHM丛书)本资源系百度网盘分享地址

    Java 11 / JDK 11 下载

    摘自:http://openjdk.java.net/projects/jdk/11/ 181: Nest-Based Access Control(基于嵌套的访问控制) 309: Dynamic Class-File Constants(动态的类文件常量) 315: Improve Aarch64 Intrinsics(改进 Aarch64 ...

    毕业设计作品_运放的应用(摘自OHM丛书).rar

    标题中的“毕业设计作品_运放的应用(摘自OHM丛书)”表明这是一份与电子工程相关的毕业设计,重点在于运算放大器(简称运放)的应用。运放是模拟电路中极其重要的组件,广泛用于信号处理、滤波、放大、比较等各种场合...

    Java_ClassAverage:用于计算多个输入的平均值的简单程序。 摘自“Java How To Program, 10e, Early Objects”——第 4 章

    在本例中,我们将会探讨Java中的类、对象、数据处理以及用户交互等核心概念。 1. **类与对象**: 在Java中,类是创建对象的蓝图,它定义了对象的属性(变量)和行为(方法)。Java_ClassAverage可能包含一个名为`...

    电子通信设计资料运放的应用(摘自OHM丛书)

    《电子通信设计资料运放的应用》一书(摘自OHM丛书)详细介绍了运放的基本原理、特性及其在电子通信中的具体应用案例,为从事电子通信行业的工程师和技术人员提供了宝贵的参考资料。 #### 运算放大器基础知识 运算...

    编程珠玑第二版及源代码

    编程珠玑第二版及源代码实现(C/C++) ...本书通过一些有趣的具有指导意义的程序,对程序设计技巧和基本设计原理进行了清晰而睿智的描述。因此本书对各个层次的程序员都具有很高的价值。————摘自百度百科

    java 将excel里面的数字时间转化为准确的时间格式

    java 将excel里面的数字时间转化为准确的时间格式;具体来源有点忘记了,实现是摘自了开源代码里面的一段。

    Collections源码java-java-design-patterns:来自不同来源的设计模式的集合。当需要在工作或学校中实施模式时,我

    First设计模式》一书-编程到接口,而不是实现。 这意味着为了帮自己一个忙,并能进行更好的测试并简化程序的未来开发,请尝试尽可能多地针对类和接口/抽象类进行开发。 介面 是一个仅包含抽象方法以及公共,静态和...

Global site tag (gtag.js) - Google Analytics