函数重载是许多编程语言的一个特性,在这些语言中,可以用相同的名称创建多个方法,但使用不同的输入参数或返回类型。这是面向对象编程中的一个常见特性;尤其是构造函数可能有多个不同的重载变量。本质上,当两个函数做的事情...
函数重载是许多编程语言的一个特性,在这些语言中,可以用相同的名称创建多个方法,但使用不同的输入参数或返回类型。这是面向对象编程中的一个常见特性;尤其是构造函数可能有多个不同的重载变量。本质上,当两个函数做的事情非常相似,并且可以使用多种类型的输入时,函数重载非常有用。构造函数很容易重载,因为它们没有指定显式的返回类型,所以简单地更改构造函数的输入参数将是有效的重载。在面向对象的计算机编程中,当一个或多个函数同名但参数不同,称为函数重载。函数重载的第一种方法是更改其输入参数。例如,可以考虑一个名为“add”的函数,它的输入是两个整数。这个函数的作用相当明显意思是要求两个整数的和。但是,如果要求两个浮点数或十进制数的和,这个函数就不适用了。因此,需要第二个重载函数,定义为一个名为“add”的函数,它的输入是两个浮点。这些函数的作用基本相同,但是函数重载是必要的,因为它们的输入是显著不同的。函数重载的第二种方法是同时改变它的输入参数和返回类型。用前面的例子,我们可以考虑两个重载的“add”函数是否都有一个void返回类型;也就是说,这仍然是有效的函数重载,但这两个方法的返回类型也可以更改在另一个有效的重载实例中,接受两个整数的“add”函数可以返回该整数和,而接受两个十进制数的“add”函数可以返回该十进制数和。但是,仅更改函数的返回类型就不能被视为有效的函数重载。只更改返回值函数的类型会导致歧义,因为方法签名中不清楚需要哪种返回类型。参数也可能定义模糊,因此正确调用重载函数非常重要。例如,如果一个重载函数的输入参数为整数,另一个参数是十进制数的,很容易有人不小心调用十进制数函数而不是整数函数,反之亦然,因为它们有相同的名称。如果可能的话,应该避免这样的模糊参数,如果不能的话,应特别注意确保在适当的时间调用适当的重载函数。函数重载对于创建具有不同输入类型的相关函数非常有用,它给了代码很大的灵活性。关于重载函数的最后一个考虑是,充分的注释是必不可少的。虽然通过不同的输入参数可以清楚地看出重载函数的哪个版本适合特定的情况,但可能并不总是很清楚该函数与它的不同之处其他超负荷合作伙伴
-
发表于 2020-08-06 12:35
- 阅读 ( 659 )
- 分类:电脑网络