代码改变世界

PHP面向对象--接口

2011-04-19 16:08  卫佳  阅读(178)  评论(0编辑  收藏  举报

对象接口允许你创建一个指定类的方法的执行代码,而不必说明这些方法是如何被操作(处理)的。
接口被用来定义接口关键字的使用,同样作为一个标准类,但没有任何方法有它们内容的定义。
在接口中所有的方法必须声明为public,这是接口的特性。
implements (执行,实现)
为了实现一个接口,使用了implements操作。在接口中所有的方法必须在一个类的内部实现;疏忽这些将导致一个致命错误。如果渴望通过使用一个逗号分开每个接口,类可以实现多个接口。
例子 19-17. 接口实例Cheap MBT shoes sale

nclick="copycode($('phpcode10'));" href="###">[复制PHP代码]

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;
    }
}Wholesale MBT shoes
//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;  }

?>