将公共操作和域放在超类;
不要使用受保护的类。不使用protected的原因:(访问域)
子类集合无限制,会破坏封装性。
同一个包中的所有类都可以访问protected域。
使用继承实现"is-a"关系
除非所有继承的方法都有意义,否则不要使用继承。
覆盖方法时,不要改变预期行为。
使用多态,而非类型信息。//对于下main这种形式的代码: if(x is of type1) action1(x) else if( x is of type2) action2(x); //都应该考虑使用多态性。如果action1和action2概念相同,就该为这个概念定义一个方法,并将其放置在两个类的超类或者接口中,调用: x.action()
不要过多使用反射。
5.8 继承设计技巧
最新推荐文章于 2024-09-09 18:33:12 发布