1.将公共操作和域放在超类,把公有的东西放在上层可减少耦合。
2.不要使用被保护的域。
有些程序员认为,大多数实例域定义为protected是不错的主意,只有这样,子类才能在需要的时候访问他们。
但是protected机制并不能够带来更好的保护,其原因主要有两点。第一,子类集合无限制,破坏封装性。第二
,包中的其他类也可以访问。
3.使用继承实现 is-a 的关系。
使用继承很容易节省代码,但不能滥用。例如,假设需要定义一个钟点工类。钟点工的信息包含姓名和雇佣日期,
但是没有薪水。他们按小时计费,并且不会因为拖延时间而获得加薪。这似乎在诱导人们由Employee派生出子类Contravtor,然后再加一个工资域。其实这不是个好主意,在打印工资单时会出现麻烦,钟点工和雇员之间不是绝
is-a(继承)关系。
4.除非所有继承的方法都有意义,否则不要使用继承。
5.在覆盖方法时,不要改变预期的行为。
6.使用多态,而非类型信息。否则会引起更多的类型信息,增加冗余。
7.不要过多的使用反射。反射机制能帮忙查看运行时的域和方法,让人们编写出更具通用性的程序。这种功能在编写
系统程序时很实用,但不适合编写应用程序。因为反射很脆弱,如果出错难以检查。