【发布时间】:2010-12-24 23:50:39
【问题描述】:
在 PHP 5 中是否有可能拥有一个具有私有/受保护方法的接口?
现在我有:
interface iService
{
private method1();
}
这会引发错误:
解析错误:语法错误,意外的 T_STRING,期待 T_VARIABLE
我只想确认接口只能包含公共方法。
【问题讨论】:
-
我发现答案令人失望。我也想要支持受保护/私有方法的接口。例如,我有一个类,其中抽象实现的公共方法依赖于子类实现的受保护方法。我想使用一个接口来要求子类实现抽象公共方法所需的受保护方法。
-
为此目的使用抽象基类。您可以将这两种方法结合起来:接口中的公共方法,在定义(并依赖于)抽象受保护方法的抽象基类中实现这些方法。
-
如果您可以声明私有或受保护方法,则应为
private function method1 ();而不是private method1();。