是.定义界面:
interface iTemplate
{
public function setVariable($name,$var);
public function getHtml($template);
}
并实施它:
// Implement the interface
class Template implements iTemplate
{
private $vars = array();
public function setVariable($name,$var)
{
$this->vars[$name] = $var;
}
public function getHtml($template)
{
foreach($this->vars as $name => $value) {
$template = str_replace('{' . $name . '}',$value,$template);
}
return $template;
}
}
我不知道为什么不能仅仅因为语言类型弱而不能使用接口.
编辑:拥有一个接口的点(或多或少)是这样你可以重用你的代码,而不管实际实现所述接口的类.
假设您的程序使用接口Set,其中包含方法addItem(),removeItem()和contains().使用接口,您知道无论基础Set实现如何,您都可以调用这3种方法中的任何一种,无论是HashSet,TreeSet还是其他.
如果您使用的是弱类型语言,则不会改变;你仍然可以像使用强类型语言一样进行编码.我知道我没有很好地说出这个解释,但我希望你能得到这个想法.