重构、重写、重载的区别

重构、重写、重载

        重构:通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理。提高软件的扩展性和维护性。通俗点说,重构就是当你发现代码的不足之处时,去改动它的结构,去优化它。

  • 重构的具体做法:可以通过重写或者重载等,但不限于此,更改注释、更改函数名类名等,都可以称之为重构;
  • 重构的目的       :是为了让软件容易维护, 修改其Bug等。

 

        重写(override):重写(还可以称为覆盖),子类通过@override来实现方法重写。在父类里声明了一个模糊的方法,并不给出详细的行为,在子类里,通过重写父类(同方法名,參数,返回值等)中的这种方法,让这种方法实例化,去适合子类。

  • override(Overwrite):是子类覆盖基类的方法。
  • 重写的特点:

    1、必须是在继承里;

    2、方法名、返回值类型、参数个数和参数类型 都必须相同;

    3、派生类重写的方法的访问权限不能低于基类的权限(public>protected>default>private);

    4、派生类抛出的异常应该和基类相等或比基类更小。

 

重载(overloaded:是通过方法的参数识别不同的函数,即方法名称相同,参数不同(主要不同在于参数的类型和个数) 。比如你有一个show()不带参数,然后你用了一个另外相同名称的方法,带一个参数show(int i ), 这个过程就叫做重载。

重载的规则:

(1)必须具有不同的参数列表。

(2)可以有不同的返回类型,只要参数列表不同就可以了。

(3)可以有不同的访问修饰符。

(4)可以抛出不同的异常。

原文地址:https://www.cnblogs.com/beimingdaoren/p/12582044.html