重构、重写、重载的区别
重构、重写、重载
重构:通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理。提高软件的扩展性和维护性。通俗点说,重构就是当你发现代码的不足之处时,去改动它的结构,去优化它。
- 重构的具体做法:可以通过重写或者重载等,但不限于此,更改注释、更改函数名类名等,都可以称之为重构;
- 重构的目的 :是为了让软件容易维护, 修改其Bug等。
重写(override):重写(还可以称为覆盖),子类通过@override来实现方法重写。在父类里声明了一个模糊的方法,并不给出详细的行为,在子类里,通过重写父类(同方法名,參数,返回值等)中的这种方法,让这种方法实例化,去适合子类。
- override(Overwrite):是子类覆盖基类的方法。
- 重写的特点:
1、必须是在继承里;
2、方法名、返回值类型、参数个数和参数类型 都必须相同;
3、派生类重写的方法的访问权限不能低于基类的权限(public>protected>default>private);
4、派生类抛出的异常应该和基类相等或比基类更小。
重载(overloaded:是通过方法的参数识别不同的函数,即方法名称相同,参数不同(主要不同在于参数的类型和个数) 。比如你有一个show()不带参数,然后你用了一个另外相同名称的方法,带一个参数show(int i ), 这个过程就叫做重载。
重载的规则:
(1)必须具有不同的参数列表。
(2)可以有不同的返回类型,只要参数列表不同就可以了。
(3)可以有不同的访问修饰符。
(4)可以抛出不同的异常。
北冥有时候愚笨,如果文章或代码上有什么表达不对或不恰当的地方,还望各位道友不吝赐教(✿◠‿◠)~~