软件设计重构秘笈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) {
}
}