重写和重构的区别
重写和重构的区别如下:
重写(Overriding):是子类覆盖基类的方法。重写需要满足以下条件:
1. 必须是在继承里进行。
2. 方法名、返回值类型、参数个数和参数类型都必须相同。
3. 派生类重写的方法的访问权限不能低于基类的权限。
4. 派生类抛出的异常应该和基类相等或比基类更小。
重构(Refactoring):是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。重构的具体做法可以通过重写或者重载等,但不限于此,更改注释、更改函数名类名等,都可以称之为重构。重构的目的是为了让软件容易维护,修改其Bug等。
总结来说,重写是子类对父类方法的覆盖,要求方法名、返回值类型、参数个数和参数类型都相同,而重构是通过调整程序代码改善软件质量和性能,可以包括重写、重载等方法。