PHP接口详解

【前言】

     本文总结下PHP接口相关知识点

【主体】

(1)接口的概念

 抽象类可以理解为”类的模板”,接口则是”方法模板”。

接口粒度更小,用于描述通用的方法。

<?php
    interface fly1{
        public function fly($oil,$height);
    }
    interface run1{
        public function run($speed,$width);
    }
    interface water1{
        public function water($depth);
    }
    //声明一个类,实现其接口
    class Super implements fly1,run1,water1{
        //与抽象类和抽象方法相同,对于声明类里所带的接口,必须对每个接口都进行一一实现,
      //少一个也不行
        public function fly($oil,$height){
            echo "飞";
        }
        public function run($speed,$width){
            echo "跑";
        }
        public function water($depth){
            echo "游泳";
        }
    }
    $super = new Super();
    $super -> fly(1,2);//这里因为上面接口规定了必须传参,所以不管用不用都得传入,否则会报错
?>

 

 

(2)接口的语法

①接口本身就是抽象的,方法前不用加abstract;

②接口里的方法,只能是public;

③类可以同时实现多个接口。例如下例的fly1,run1,water1

//声明一个类,实现其接口
    class Super implements fly1,run1,water1{
        //与抽象类和抽象方法相同,对于声明类里所带的接口,必须对每个接口都进行一一实现
       //少一个也不行
        public function fly($oil,$height){
            echo "飞";
        }
        public function run($speed,$width){
            echo "跑";
        }
        public function water($depth){
            echo "游泳";
        }
    }

 

【总结】

      抽象类相当于一类事物的规范;接口:组成事物的零件的规范

 

 

 

 

 

 

猜你喜欢

转载自570109268.iteye.com/blog/2414538