1、将公共操作和字段放在超类中
2、不要使用受保护字段
protected并没有起到非常强的保护作用,子类集合是无限制的,子类可以访问protected字段。同一个包中所有类都可以访问protected字段。但是protected方法对于指示那些不提供一般用途而应在子类中重新定义的方法有用。
http://www.voidcn.com/article/p-wwoazfls-byb.html
3、继承实现的是“is-a”关系
不能滥用继承
4、除非所有继承的方法都有意义,否则不要使用继承
5、覆盖方法时,不要改变预期行为
替换原则不仅应用于语法,也适用于行为。子类覆盖方法时,不要偏离最初的设计想法。
6、使用多态,不要使用类型信息
if(x is of type 1)
action1(x);
else if (x is of type 2)
action2(x);
-- 考虑为action定义一个统一方法,放置在两个类型的超类或接口中
x.action();
7、不要滥用反射
编译器将无法帮助你查找编程错误,只有在运行时才能发现异常。
网友评论