java中,重构、重载、重写

一、什么叫重构?编程

答:重构Refactoring)就是经过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提升软件的扩展性和维护性,系统发展到必定阶段后,使用重构的方式,不改变系统的外部功能,只对内部的结构进行从新的整理。经过重构,不断的调整系统的结构,使系统对于需求的变动始终具备较强的适应能力。设计模式

 重写:也叫覆盖当一个子类继承一父类,而子类中的方法与父类中的方法的名称参数个数、类型都彻底一致时,就称子类中的这个方法重写了父类中的方法。(相对于继承)架构

例子:函数

public class A{//定义类A
  public void s(){//定义方法s
  }
}
public class B extends A{//定义子类B,继承A
  public void s(){//重写父类A的方法s
  }
}

重载同一个类中,多个方法名同样,参数列表不同的状况就是方法的重载性能

方法重载例子:测试

public class Test
{
    public static void main(String[] args){
        Test ts = new Test() ;
        System.out.println(ts.ss("s1","s2")) ;
        System.out.println(ts.ss("s1")) ;
    }
    public String ss(String s1,String s2){
        return s1+s2 ;
    }
    public String ss(String s1){
        return s1 ;
    }
}

重写与重载的区别:优化

1.重写必须继承,重载不用。spa

2.重写的方法名,参数数目相同,参数类型兼容,重载的方法名相同,参数列表不一样。.net

3.重写的方法修饰符大于等于父类的方法,重载和修饰符无关。设计

4.重写不能够抛出父类没有抛出的通常异常,能够抛出运行时异常。

总结:

重写是对方法自己从新编写

重载函数名相同 参数个数不一样。

重构重写算是重构的一部分,但重构还包括对程序结构的优化。

 

1、举个简单的例子(修墙):

  通常来讲有如下两种方案

方案一:直接推到,新买砖,从新砌墙,一般会遇到难以找到适合砌墙边的砖头,砌墙工一般会破坏新砖来到达目的

方案二:拆墙,把墙砖一个个分解,从新利用,再加上新买少许砖,完美解决难以对齐的问题,而不用去破坏新砖

2、那么重构能够有两种方法论:

1)所有推翻,从头开始,相似于重写(属于重构的一种方式)

2)以迭代的方式进行重构,相似于重构中的结构优化(属于重构的另外一种方式)

3、分解并重组

一、须要分解的状况:

1)冗长的代码;2)重复的代码;3)逻辑不清晰的代码;4)不遵循通用编程规范的代码。

二、方法:

1)局部变量和参数;2)变量易名:提升代码的清晰度;3)去除临时变量;

4)使用多态取代多分支条件逻辑;5)继承的使用;6)pattern的运用;

三、提炼方法和类:

(1)业务需求常常变动的地方;2)业务功能的清晰划分;

四、重构策略

测试 -> 小修改 -> 测试 -> 小修改...

总结:重构是以微小的步伐来修改程序的。

五、Java代码重构的一大方向:完成面向过程到面向对象的转换。

 

参考:https://blog.csdn.net/tscyds/article/details/51228970

相关文章
相关标签/搜索