您的位置:首页 > 其它

提升方法

2015-07-21 10:07 260 查看
概念:提升方法是指将一个很多继承类都要用到的方法提升到基类中。

正文:提升方法是指将一个很多继承类都要用到的方法提升到基类中,这样就能减少代码量,同时让类的结构更清晰。如下代码所示,Turn方法在子类Car 和Motorcycle 都会用到,因为Vehicle 都会有这个方法,所以我们就会想到把它提到基类中。
namespace LosTechies.DaysOfRefactoring.PullUpMethod.Before
{
public abstract class Vehicle
{
// other methods
}

public class Car : Vehicle
{
public void Turn(Direction direction)
{
// code here
}
}

public class Motorcycle : Vehicle
{
}

public enum Direction
{
Left,
Right
}
}


重构后的代码如下,那么现在Car 和Motorcycle 都具有Turn这个方法,如果这个方法修改也只需要修改基类即可,所以给维护和以后的重构带来了方便。
namespace LosTechies.DaysOfRefactoring.PullUpMethod.After
{
public abstract class Vehicle
{
public void Turn(Direction direction)
{
// code here
}
}

public class Car : Vehicle
{
}

public class Motorcycle : Vehicle
{
}

public enum Direction
{
Left,
Right
}
}


总结:这个重构要根据具体情况使用,如果不是每个子类都有这个方法的话,可以考虑使用接口或者其他方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: