三、 提升方法 在一个继承族中,如果一个子类中的某个独有方法同样被另一个子类需要,那么这个方法就应该提升到父类中去,作为子类公有、可访问的方法。代码如下: abstract class Vehicle { // some methods } class Car extends Vehicle { public void turn(int direction) { // code } } class Motocyble extends Vehicle{ // some methods } //全局变量 interface Directions { public static final int LEFT = 1; public static final int RIGHT = 2; } 郑州建站推广 网站策划 网站建设 网站开发 SEO优化 网站推广 SEO 网站SEO 清软国际 东方清软 国信清软重构之后: abstract class Vehicle { public abstract void turn(int direction); } class Car extends Vehicle { @Override public void turn(int direction) { // code } } class Motocyble extends Vehicle{ @Override public void turn(int direction) { // code } } //全局变量 interface Directions { public static final int LEFT = 1; public static final int RIGHT = 2; } 郑州建站推广 网站策划 网站建设 网站开发 SEO优化 网站推广 SEO 网站SEO 清软国际 东方清软 国信清软 其实,提升子类方法作为父类方法,以使所有子类都可见、可覆盖的重构方法,就是使用了继承机制,使得父类方法称为一种类似于“基因”的形式“遗传”给各自类,只不过这种“基因”如果不是抽象象方法,那么具体子类可以自主性地选择性是否要继承。尽管是抽象方法,子类也可以对继承而来的父类抽象方法进行空实现。同样的道理,什么时候提升方法作为父类方法也应依据具体情况而定,设计模式中好多种模式都有运用到了提升方法的方式,模板方法模式(Template Method)就是很常见的一个了。