软件设计重构秘笈3式-02提升方法

79 阅读1分钟

软件设计重构秘笈3式-02提升方法

概念

提升方法是指将一个很多继承类都要用到的方法提升到基类中。

意图

提升方法是指将一个很多继承类都要用到的方法提升到基类中,这样就能减少代码量,同时让类的结构更清晰。 如下代码所示,Turn方法在子类Car 和Motorcycle 都会用到,因为Vehicle 都会有这个方法,所以我们就会想到把它提到基类中。

案例

public class Car{
    public void turn(Direction direction) {

    }
}

public class Motorcycle{

    public void turn(Direction direction) {

    }
}

public enum Direction {
    Left,
    Right
}

重构

重构后的代码如下,那么现在Car 和Motorcycle 都具有Turn这个方法, 如果这个方法修改也只需要修改基类即可,所以给维护和以后的重构带来了方便。

public interface Vehicle {
    public void turn(Direction direction);
//    public void other();
}

public class Car implements Vehicle {

    @Override
    public void turn(Direction direction) {

    }
}

public class Motorcycle implements Vehicle {

    @Override
    public void turn(Direction direction) {

    }
}