最近我很难向我的一位同事解释某种方法的工作方式。这个问题与我不知道某个术语(可能存在)有关。以这样的函数为例:
function myFunct (arg) {
if (typeof arg == "number") {
// ...
}
if (typeof arg == "string") {
// ...
}
}
根据arg
的数据类型,该方法会执行一些不同的操作。对于这样一个在不同数据类型中接受其参数的函数,正确的术语是什么?
这被称为"多态性",这是来自维基百科的定义:
多态函数,可以应用于不同类型的参数,但根据应用它们的参数类型表现不同(也称为函数重载或运算符重载)
在像C++这样的静态类型语言中,可以定义多个具有相同名称但参数不同的函数。例如CCD_ 2和CCD_。
在php或python等动态类型语言中,函数可以接受任何类型的参数,并根据不同的类型执行不同的操作,如示例中所示。