0. 前言
OOP(面向对象编程)的特点:封装、继承、多态。
1. 类的设计技巧
应用下面这些技巧可以使得设计出来的类更符合 OOP 的特点。
#1 一定要保证数据私有
绝对不要破坏封装性。这是最重要的。
有时候,我们需要编写一个访问器方法或更改器方法(getter 和 setter),最好还是保持实例域的私有性。
当数据保持私有时,它们表现形式的变化不会对类的使用者产生影响,即使出现bug也易于检测。
#2 一定要对数据进行初始化
具体的初始化方式可以是直接提供默认值,也可以是在构造器中设置默认值。
Java不会对局部变量进行初始化,但会对对象的实例域进行初始化。
所以,最好不要依赖于系统的默认值,而是使用上面的方式显式地初始化所有数据。
#3 不要在类中使用过多的基本类型
换句话说,就是可以用一个类来替换这些基本类型的使用;这样会使类更加易于理解和修改。
例如,可以用一个称为 Address 的新的类来替换 Customer 类中的实例域:
private String street;
private String city;
private String state;
private int zip;
这样,很容易处理地址变化的问题。
#4 不是所有的域都需要独立的域访问器和域更改器
在对象中,可能包含一些不希望别人获得或设置的实例域。
#5 将职责过多的类进行分解
“单一职责原则”
如果明显地可以将一个复杂的类分解成两个更为简单的类,就应该将其分解;但不要矫枉过正。
#6 类名和方法名要能够体现出它们的职责
类和方法的命名都遵循“驼峰命名法”,但类名的首字母需要大写,如“CardDeck”,
而方法名的首字母需要小写,如“getSalary”。