特性 | 重写(Override) | 重构(Refactoring) | 重载(Overloading) |
---|---|---|---|
定义 | 在派生类中提供与基类同名同参数的新方法实现 | 改进代码内部结构但不改变外在行为 | 在同一作用域内创建多个参数列表不同的同名函数 |
目的 | 实现多态,改变或扩展基类行为 | 提高代码可读性、可维护性 | 根据不同参数提供不同功能 |
使用场景 | 类继承关系中 | 任何需要改进代码的地方 | 提供函数的多个版本 |
相同点 | 涉及方法的实现 | 可能涉及方法的修改 | 涉及方法的实现 |
不同点 | 需要继承关系 | 不改变程序外在行为可继承可不继承 | 不需要继承关系,参数不同 |