主要区别
超载和超载不是你认为与重型车辆运输有关的术语。软件开发人员或程序员知道这些术语对他们的意义。重写和重载基本上与java、C++和其他编程语言有关。这些特性用于为编程中的不同上下文赋予不同的含义。以下是这两个术语的细节及其区别。
什么是压倒一切(overriding)?
重写是编程语言中的一个特性,用于将相同的方法名与相同的签名相关联。在这个系统中,程序员为子类或子类提供了一个具体的实现方法,这个方法已经由程序员提供给父类或父类。它在两个方向上工作,要么在父类中,要么在子类中。例如,如果在父类中执行某些更改,则子类也将接受该更改,反之亦然。还有一个选项可以防止程序员重写方法。
什么是超载(overloading)?
重载是程序语言中的一个函数,它将多个相同的名称与具有不同实现的对象关联起来。它基本上是由那些在数据类型、类和操作数发生变化时表现不同的运算符使用的。在多种编程语言中,只有C++和java支持重载。函数名和运算符重载是两种不同的重载。重载是在编译时对特定类实现的,大多数静态方法允许重载。
主要区别
- 首先是实施的时机。重载在编译时实现,重写在运行时实现。
- 静态方法可以重载,但不能重写。因为一个类或对象可以有多个同名的静态方法,这在重载而不是重写中是可能的。
- 重载与将实现提供给特定的类相关联,以便可以在同一个类中完成,而重写同时需要父类和子类才能实现。
- 静态绑定用于重载,而用于重写的则使用动态绑定。
- 重载提供了更好的性能,因为它是在运行时完成的,在重写的情况下不可用。
- 重写方法时需要相同的数据类型,而重写时可以选择相同的数据类型。
- 重写用于艾达、C++、C++、Delphi、Effeljava、java和Python,而通常C++和Java允许重载。