Pages 1 / Total 1 1
已被查看516次    只看楼主
[原创]PHP接口
主题
松风水月  




等级:终级天王
积分:3175
经验:1008
魅力:2167
威望:0
财富:2432
金钱:0.00元
帖子:147
注册:2007-04-11 16:29
楼主 资料 短消息
[原创]PHP接口 2007-08-08 16:26
众所周知,PHP 4中的对象支持继承,要使一个对象成为另一个对象的派生类,需要使用类似“class sub extends parent”的代码来控制。PHP 4和PHP 5中,一个对象都仅能继承一次,多重继承是不被支持的。不过,在PHP 5中产生了一个新的名词:接口,接口是一个没有具体处理代码的特殊对象,它仅仅定义了一些方法的名称及参数。本节将会详细的介绍接口的创建和使用。

对象接口允许创建一个指定类方法的执行代码,而不必说明这些方法是如何被操作(处理)的。接口作为一个标准类,但没有任何方法有它们内容的定义。在接口中所有的方法必须声明为public,这是接口的特性。创建一个接口需要使用关键字interface。
一个接口的语法格式如下所示:
interface myinterface{
   const name1;
   ..........
   const name2;
   function methodName1();
    ......
   function methoodNamen();
}
在上述代码中,interface表示创建一个接口,myinterface表示接口的名称。name1等表示在接口中声明的字段,是一个常量。methodName1表示方法的名称,该方法没有方法体。
接口的使用意义在于定义了一系列的标准,让别的类去实现,接口的使用是类之间的关系产生层次感。如果创建了一个接口,而没有相关的类去实现,该接口是毫无意义的。接口需要继承来实现它的价值。一个类继承一个接口的语法格式如下所示:
class Classname implements myinterface{
    function methodName1()
    {
      执行语句
    }
    ......
   function methoodNamen(){
         执行语句
    }
}
在上述代码中,implements关键字表示(执行,实现)实现一个接口。在接口中所有的方法必须在一个类的内部实现,疏忽这些将导致一个致命错误。类可以实现多个接口。通过使用一个逗号分开每个接口。
现在创建一个案例,演示一下创建接口,并实现接口中方法。本案例的代码如下所示:
案例6-5
<?php
interface myinterface

   const str="中国你好";
   public function getV();
   public function getH($name,$value);
}
 class A implements myinterface{
        public function getV(){
            echo self::str;
          }
        public function getH($name,$value){
            echo $name.=$value;
         }
  }
  $a=new A();
  $a->getV();
  $a->getH("<br>郑州","欢迎你");
?>
将上述代码保存,文件名称为interface.php,并将文件保存到指定的位置。打开IE浏览器,在地址栏中输入http://localhost:8080/class/interface.php,单击【转到】,直接可以运行了。

IP:123.*.*.*     顶部
论坛交流 ›› PHP ›› [原创]PHP接口