Что реализует функция? обычно то, что я знаю, реализует интерфейс, который имеет
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;
}
}
так что все методы в интерфейсе являются абстрактными методами. но я не мог найти, как расширить функцию. или реализовать функцию