什麼是實現一個功能?通常情況下,我所知道的是實現具有是否正在接口類中實現一個函數?
function foo();
和實施類似
function foo($bar)
另一類
但接口什麼,當我實現該接口的功能會發生什麼?我是否必須在子類中重新實現它們?或者我可以直接在子類中使用它們,假設它們在子類中實現。
interface ibarbar{
function foo($bar)
{
return $bar.$bar;}
}
class barbar implements ibarbar
{
function baz()
{
$this->barbar(); //used without implementing in subclass. expected results unknown.
}
}
PHP文件說
// This will not work
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
private $vars = array();
public function setVariable($name, $var)
{
$this->vars[$name] = $var;
}
}
所以在接口中的所有方法都是抽象的方法。但我找不到如何擴展一個函數。或實現功能
我認爲接口的一點是你沒有實現...如果你想在子類中使用函數,你不需要一個「父」類嗎? – Matthew
我相信當你這樣做的時候,這是一個[抽象類](http://php.net/manual/en/language.oop5.abstract.php)。 –