重载方法解析和空参数
当提供空参数时选择正确的重载方法的过程遵循特定的步骤顺序。
1。辅助功能:
最初,编译器根据调用代码的访问权限过滤掉任何不可访问的重载方法。
2。适用范围:
接下来,它确定了适用的方法。如果每个形式参数都有一个可以隐式转换的相应参数,则该方法被认为是适用的。 空值无法隐式转换为值类型(如 int
或 Point
),因此无需考虑这些方法。
3。 params
方法处理:
使用 params
关键字的方法可以被调用为扩展(将数组视为单独的参数)或未扩展(将其视为单个数组参数)。 如果两者都适用,则首选扩展形式,未扩展版本被丢弃。
4。最佳匹配选择:
最后,编译器会比较剩余的适用方法以找到最具体的匹配。 具有更专业参数类型的方法被认为比具有更通用类型的方法更具体。
在含糊不清的场景中(多个同样具体的方法),如提供的示例中所示,编译器无法确定最佳候选者,从而导致编译错误。 object
参数类型不如 object[]
和 string
具体,导致这种歧义。
以上是重载方法解析如何处理空值?的详细内容。更多信息请关注PHP中文网其他相关文章!