公共操作和属性放在父类中。不要使用protected属性,不同于protected方法,属性是允许同包中类访问的。对于“是”的关系使用继承。除非所有的方法都有用,否则不要滥用继承。不要改变预期的动作,当你覆盖一个方法时。使用多态而不是类信息,用父类的方式调用一个方法,每个子类覆盖这个方法。不要滥用反射。