最近,我正努力向某位同事解释某种方法的运作方式。问题与我不知道某个术语(可能存在)有关。采取这样的函数:
function myFunct (arg) {
if (typeof arg == "number") {
// ...
}
if (typeof arg == "string") {
// ...
}
}
根据arg
的数据类型,该方法会有所不同。对于在不同数据类型中接受其参数的此类函数,正确的术语是什么?
答案 0 :(得分:2)
这叫做" polymorphism",这里是wikipedia的定义:
...多态函数,可以应用于不同类型的参数,但根据应用它们的参数类型(也称为函数重载或运算符重载)表现不同
在静态类型语言中,如C ++,可以定义多个具有相同名称但不同参数的函数。例如myFunct(int arg)
和myFunct(string arg)
。
在动态类型语言中,如php或python,该函数可以接受任何类型的参数,并根据类型中的类型执行不同的操作。