对象接口允许你创建一个指定类的方法的执行代码,而不必说明这些方法是如何被操作(处理)的。
接口被用来定义接口关键字的使用,同样作为一个标准类,但没有任何方法有它们内容的定义。
在接口中所有的方法必须声明为public,这是接口的特性。
implements (执行,实现)
为了实现一个接口,使用了implements操作。在接口中所有的方法必须在一个类的内部实现;疏忽这些将导致一个致命错误。如果渴望通过使用一个逗号分开每个接口,类可以实现多个接口。
例子 19-17. 接口实例
PHP代码如下:
<?php
// Declare the interface 'iTemplate'
interface iTemplate
{ public function setVariable($name, $var);
public function getHtml($template);
}
// Implement the interface . This will work
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;
}
}
//This will not work Fatal error:Class BadTemplate contains 1 abstract
//methos and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{ private $vars = array();
public function setVariable($name,$var){ $this->vars[$name] = $var; }
}
?>
(非常全面的一个php技术网站, 有相当丰富的文章和源代码.)
|