PHP中就接口有什么用呢?
看不出来他有什么用!
麻烦各位大侠们解释一下!
谢谢!

解决方案 »

  1.   

    接口的概念比较抽象,通俗地说,就是规范了一种类的方法。在大型项目和多人开发的项目中有很大的作用举例说明:<?php
    // 我们声明一个文章接口, 里面三种方法: 编辑、删除、增加
    interface article
    {
    public static function edit($name);
    public static function del($name);
    public static function add($name);
    }// 笑话类的文章由某人开发, 那么article类中的三个方法,此类里面也必须有,否则会报错,
    class joke implements article
    {
    public static function edit($name)
    {
    echo '你编辑了名称为 : ' . $name . ' 的文章<br />';
    }
    public static function del($name)
    {
    echo '你删除名称为 : ' . $name . ' 的文章<br />';
    }
    public static function add($name)
    {
    echo '你增加了名称为 : ' . $name . ' 的文章<br />';
    }
    }
    joke::edit('老鼠爱大米');
    joke::del('老鼠爱大米');
    joke::add('老鼠爱大米');
    ?> 仅个人理解
      

  2.   

    说白了,就是一个约束,规定,协议,就是规定了一些大家必须遵守的东西。
    指定了实现这个接口的类必须提供的功能。
    还是举个例子把。<?php
    interface ICar {
        public function start();
        public function stop();
        public function run();
    }class bmw implements car{
        /**
         *这些是来自接口的;
         */
        public function start(){
          //todo
        }
        public function stop(){
          //todo
        }
        public function run(){
          //todo
        }
    }class driver{
        /**
         * @var ICar
         */
        private $car;
        public function driver(ICar $car){
          $this->car = $car;
        }
        public function drive(){
           $this->car->start();
           $this->car->run();
           $this->car->stop();
        }
    }
    ?>只要是继承了接口car的车,不管是什么宝马,悍马还是什么,这个司机都能开。
    就这么简单。就当他是一个标准就好了
    同样,这个司机只能开继承了接口car的车。
      

  3.   

    上面的class bmw implements car
    应为class bmw implements ICar
    自己发的帖子自己不能编辑。晕。到。