zoukankan      html  css  js  c++  java
  • 重构3-Pull Up Method(方法上移)

    上移方法(Pull Up Method)重构是将方法向继承链上层迁移的过程。用于一个方法被多个实现者使用时

    public abstract class Vehicle {
    // other methods
    }
    public class Car extends Vehicle{
    public void Turn (Direction direction){
    // code here
    }
    }
    public class Motorcycle extends Vehicle {
    }
    public enum Direction {
    Left, Right
    }
    如你所见,目前只有Car类中包含Turn方法,但我们也希望在Motorcycle类中使用。因此,如果没有基类,我们就创建一个基类并将该方法“上移”到基类中,这样两个类就都可以使用Turn方法了。这样做唯一的缺点是扩充了基类的接口、增加了其复杂性,因此需谨慎使用。只有当一个以上的子类需要使用该方法时才需要进行迁移。如果滥用继承,系统将会很快崩溃。这时你应该使用组合代替继承。重构之后的代码如下:
    public abstract class Vehicle {
    public void Turn (Direction direction){
    // code here
    }
    }
    public class Car extends Vehicle{}
    public class Motorcycle extends Vehicle {
    }
    public enum Direction {
    Left, Right
    }





  • 相关阅读:
    Docker安装ngnix进行挂载
    Linux上传下载小工具
    uniapp——原生导航栏
    uniapp——scroll-view组件隐藏滚动条
    边框阴影——box-shadow
    uniapp-监听自定义跳转
    uniapp整屏滑动
    用伪类写圆点css
    Vue——生命周期
    uniapp多选按钮
  • 原文地址:https://www.cnblogs.com/jgig11/p/5784561.html
Copyright © 2011-2022 走看看