是否有可能從函數返回接口?例如:在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
他是否打算返回實際的接口定義或實現該接口的對象? –