博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类设计技巧
阅读量:5278 次
发布时间:2019-06-14

本文共 669 字,大约阅读时间需要 2 分钟。

一定要保证数据私有

数据私有时不影响类的使用者;发生了BUG也易于追踪调试。

一定要对数据进行初始化

实例化对象时尽管有默认值,但是我们还是要对数据进行显式初始化。可以在定义时进行默认值初始化,也可以在所有构造器中进行初始化。

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

用一个类代替多个相关的基本类型,更易于理解和扩展。例如类中有以下几个基本类型:城市、街道、门牌、邮编,都是和地址相关的,我们可以用一个“地址”类代替。这样易于理解,也便于以后地址的扩展和修改。例如处理一个国际化地址。

不是所有的域都需要域访问器和修改器。

有些域是实例化后禁止更改的,例如员工入职后,入职时间是禁止更改的。有些域不希望用户看到,例如部门ID。

将职责过多的类进行分解

如果明显可以将一个类拆分为两个更为简单的类,那就进行拆分。

类名和方法名要能体现它们的职责

类名的良好习惯是采用一个名词(Order)、前面有形容词修饰的名词(RushOrder)、或动名词(有“ -ing” 后缀)修饰名词(例如, BillingAddress )。

对于方法来说,习惯在访问器前面加get,在更改器前面加set。

优先使用不可变的类。

有的类调用其方法更改,会返回一个新的对象,就是不可变的类。例如java中LocalDate。而有些类的方法可以修改其内部数据,这样的类就是可变的。

如果类对象是可变的,在进行多线程变成的时候,多个线程同时访问一个对象,则会出现不可控的情况。

转载于:https://www.cnblogs.com/limp/p/9054881.html

你可能感兴趣的文章
微信上传素材返回 '{"errcode":41005,"errmsg":"media data missing"}',php5.6返回
查看>>
div或者p标签单行和多行超出显示省略号
查看>>
Elasticsearch 滚动重启 必读
查看>>
Hadoop基本概念
查看>>
java.util.zip压缩打包文件总结一:压缩文件及文件下面的文件夹
查看>>
浅说 apache setenvif_module模块
查看>>
MySQL--数据插入
查看>>
重新学习python系列(二)? WTF?
查看>>
shell脚本统计文件中单词的个数
查看>>
SPCE061A学习笔记
查看>>
sql 函数
查看>>
hdu 2807 The Shortest Path 矩阵
查看>>
熟悉项目需求,要知道产品增删修改了哪些内容,才会更快更准确的在该项目入手。...
查看>>
JavaScript 变量
查看>>
java实用类
查看>>
smarty模板自定义变量
查看>>
研究称90%的癌症由非健康生活习惯导致
查看>>
命令行启动Win7系统操作部分功能
查看>>
排序sort (一)
查看>>
Parrot虚拟机
查看>>