是否有可能从函数返回接口?例如:在PHP中返回一个接口?
interface DBInterface {
public function getDB();
[...]
}
class Bar {
public function defineDBObject($name){
return DBInterface;
}
}
我对此表示怀疑,但我有一个客户喜欢编写涉及它的规范文档。我想确保它实际上是不可能的。
是否有可能从函数返回接口?例如:在PHP中返回一个接口?
interface DBInterface {
public function getDB();
[...]
}
class Bar {
public function defineDBObject($name){
return DBInterface;
}
}
我对此表示怀疑,但我有一个客户喜欢编写涉及它的规范文档。我想确保它实际上是不可能的。
你不能。你只能返回对象或原语。类和接口不是PHP中的对象。
您无法返回接口。你只能返回一个对象。你返回的对象可以实现一个特定的接口 - 因此实现了这些方法。
这是一个机制,它是从Java借来的来解决钻石问题。
AFAIK接口不能有实例。 – Robik
最接近你可以得到的是返回一个实现该接口的对象 - 否则,不。 – BoltClock
他是否打算返回实际的接口定义或实现该接口的对象? –