我对重构和重写不是很理解!想请求帮助?

解决方案 »

  1.   

    重构就是调整软件结构,改进代码的设计质量,但是并不影响外部使用,并不是把所有代码推翻重来。重构会使代码更清晰,更容易理解,更容易发现里面潜在的bug
    重写就好理解了吧,代码没办法使用才会重写的
      

  2.   

    首先这两个概念描述得范围是不同的:重构, 是对软计设计方法的描述, 这个层面是架构和设计方法,e.g: 你今天写了一个应用, 读txt文档并显示, 几天后,用户的新需求来了, 告诉你, 我要读一个XML文本并显示, 这个时候, 你从前的代码需要做变更,这个变更的动作, 就叫做重构;更小一点, 比如你维护的读TXT模块要交给别人使用, 你的接口叫做TXTINterface, 别人不爽, 觉得名字不好理解, 要你更改成TXTReader, 并附上注释,都叫做重构.
    重写, 即override, 翻译为覆盖是最好的, 这个概念一般会跟OverLoad[重载]被提出,这两个概念比较具体:重写就是通过方法的参数识别不同的函数比如你有一个AMethod()不带参数, 然后你用了一个另外相同名称的方法,带一个参数AMethod(String para),这个过程就叫做重写.
    OverLoad是子类覆盖基类的方法.具体搜搜就知道了.
    重构是一个软件维护的通用技巧, 重构的具体做法, 可以通过重写或者重载等, 但不限于此, 更改注释, 更改函数名类名等,都可以称之为重构,重构的目的是为了让软件容易维护, 修改其Bug等.
      

  3.   

    方法的重载和覆盖
    1:方法的重载:
    方法名相同,参数不同,与返回值无关
    2:方法的覆盖:
    不能覆盖final和static方法
    继承父类必须覆盖父类abstract方法
    必须与被覆盖方法的声明一样
      

  4.   


    没偏,基本正确;重载(overload):同一个类里,方法名相同,而方法签名(参数类型,个数等)不同,与返回值无关;
    覆盖(override):又称过载,是子类在继承父类时,对父类抽象方法重新实现;
      

  5.   

    我晕哦
    重构(refactor)
    重写(override)
    重载 (overload)
    怎么都搞混了啊?
    很多说的都是重载和重写的区别
    我不知道LZ是不是要问的就是这个啊?重构是改变代码结构,不改变功能,使代码更易维护,更易阅读,等等。。
    重写是子类覆盖父类的相同方法,以提供更具体的实现
    重载就是让相同方法接收不同的参数,实现不同功能
      

  6.   

    1,重载和重写,是java预言里的多态特性;
    2,重构是项目周期中的一种过程,比如项目进展到最后,可能要重构,优化代码什么的。
    1和2不是不要混了
      

  7.   

    重构class A{
        public void getA(){
        System.out.println("This is A");
    }
    public void getA(int a){
    System.out.println("This is A for "+a);
    }
    }重写class A{
        public void getA(){
        System.out.println("This is A");
    }
    }class AA extends A{
    public void getA(){
    system.out.println("This is AA");
    }
    }