黑马程序员技术交流社区

标题: 【黑马程序员济南】PHP类的接口技术(interface) [打印本页]

作者: 小鲁哥哥    时间: 2017-9-19 10:59
标题: 【黑马程序员济南】PHP类的接口技术(interface)
本帖最后由 小鲁哥哥 于 2017-9-19 11:03 编辑

PHP类的接口技术(interface)

今天为大家带来的是我们类中的一个极致,接口(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

不知道大家对今天讲的类的重载技术之方法重载学习的怎么样啊?有什么疑问欢迎来黑马程序员济南中心来咨询哟~

点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈

【黑马程序员济南】小鲁哥哥全学科技术整合帖(一贴在手!天下我有!)




作者: comebas    时间: 2017-11-2 11:52

一直很喜欢黑马的这个免费资源
作者: 一城之间    时间: 2018-1-26 08:28
不写混编改写接口了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2