【发布时间】:2012-07-19 14:04:37
【问题描述】:
<?php
interface a {
public function bar();
}
interface b extends a {
public function foo();
public function bar($a);
}
?>
显示方法中签名不匹配的致命错误。 php中不能覆盖接口的方法吗?
【问题讨论】:
-
如果它具有相同的签名是可能的。您的
b.bar接受$a,而a.bar不接受,这是致命错误的根源。 -
@Yoshi 如果它具有相同的签名有什么意义。到底有什么意义。
-
@Esailija 这是你必须问 php 开发人员的事情。我只是指出了错误,这让我自己经常绊倒;)
-
@Esailija 您仍然能够以另一种方式实现相同的功能。您还可以使用
func_get_args()模拟重载 -
@yoshi 我知道错误的原因。我想知道是否有可能以这种方式或任何其他方式做到这一点。
标签: php interface overriding