PHP程序员小白到大牛集训(12期免息)
首页 > 社区问答列表 >PHP类的接口技术(interface)

PHP类的接口技术(interface)

接口技术

什么叫做接口?

       看接口的“发展历程”:

              类 --> 抽象类 -->  比抽象类更抽象的某种“结构形式”:接口;

       接口:跟抽象类比:

       接口中只有抽象方法——和常量;

       抽象类中可以有抽象方法,也可以有其他各种成员;

              示例代码:

                     abstract  class   C1{

                            const  p1 = 1;

                            public $p2 = 2;

                            static  $p3 = 3;

                            function  f1(){ 。。。。 };

                            static  function  f2(){ 。。。。 }

                            abstract  function  f3();

                     }

       将上述抽象类中的“具体”的成员抽掉,就剩下:

              interface   C1{

                     const  p1 = 1;

                     abstract  function  f3();

              }

       实际上,接口本身其实跟只有常量和抽象方法的抽象类是一样的形式!

       但,之所以换个名字叫做接口,是因为又规定:接口可以实现多继承;


接口的使用:

       设计接口的目的,是为了给“类”来继承之,并使用其中的常量和 (抽象)方法。


       一个类继承一个(或多个)接口的时候,不叫继承,而是叫做“实现”(implements),

       即:某个类,实现了某(几)个接口;


       形式:

              class  类名 【extends  父类名】  implements  接口名1,接口名2,... {

                     ......类成员的定义;

              }

接口的继承:

       接口之间,也可以相互继承——此时就是称为继承;

       而且,他们还可以进行多继承!

       示意代码:

              interface  I1{.... }

              interface  I2{.... }

              interface  I3  extends  I1, I2{

                     const  PI = 3.14;

              }


接口中的常量使用

       形式:跟类一样,用接口名以及“::”操作符去“取用”;

              echo  I3::PI;                //输出3.14


无数据提示还没有回复,楼主喊你快去抢前排~~~我来回答