使用继承可以做到:
1.代码的复用
2.对外部调用类,呈现多态, 即变化
3.父类代码的修改可以影响所有子类(子类未覆盖父类方法情况下)
1.抽取所有子类 中相同的(通用的)的功能,形成独立的方法,放到父类里,利用继承的特性,所有子类自动具有该方法的能力。
对于某些不需要些方法的的子类,在子类中可以选择覆盖该方法而形成空方法,或方法内抛出异常等。
对于某些需要该方法而与父方法语义不完全相同的,可以选择覆盖父类方法
2.继承关系中,部分子类中都有相同的(通用的)功能,则可以抽取而形成独立的方法置于新建的子类中,需要该功能的部分类扩展该类,即在继承关系中新增了一层。
3.某个子类独有特性,不应在父类中体现,以免该父类的其它子类自动继承该特性而造成不适宜。
如果该特性属于另一个继承体系中,则可以实现另一个继承体系中的根(接口)(只能有一个父类)。