重载和覆盖

Anonim

重载与覆盖

重载和覆盖都是大多数编程语言的特性。重载是一种允许在同一类中创建具有相同名称但在输入类型和函数输出类型方面彼此不同的多个方法的功能。方法重载通常与静态编程语言相关联,后者在函数调用中强制执行类型检查。这些很可能与VB,.Net,C ++,D,Java等有关。覆盖是用于面向对象编程的主要技能,并且在用户重新定义已在现有或父类中定义的方法时完成。在这种编程技术中,脚本被编码为通过允许用较低或子类编写的脚本来实现已经在任何父类或高级类中设置的方法或指令集来执行特定任务。

在计算机编程中,重载源自在同一范围内具有多个定义并且具有相同名称但具有不同签名的方法。方法实现共享相同的名称,因为它们将执行类似的任务。由于其被识别为多态性的情况,因此也识别出重载,其中一些或所有运算符可以具有依赖于其指定的参数类型的不同实现。覆盖取决于其外观是否存在基类函数。语言功能Overriding允许子类实现已由其某个超类或父类使用的方法,允许子类方法为超类中使用的重写方法分配相同的名称,参数列表和返回类型或签名。具有。

重载被认为是实用的,因为它允许程序员编写恰好具有相同名称的许多不同方法。重载可能会对语言产生一些影响,因为在运行时,处理器会更改所有重载方法的名称。它在编译时解决。覆盖是一种多态性,它是在运行时解析的隐式第一个参数的基础上设计的。

摘要: 术语重载通常与静态编程语言相关联,并且覆盖在面向对象编程中变得流行。 具有相同方法名称和不同签名的类中的方法被指定为重载方法。覆盖称为具有相同方法名称和相同参数/签名的类中的方法。 重载在同一个类中可用的方法之间共享一个统一的关系,而在重写时,会创建超类方法和子类方法之间的关系。 重载允许从超类继承。 在重写中,子类方法取代了超类。 重载必须具有不同的方法签名,而重写必须分配相同的签名。