本帖最后由 小鲁哥哥 于 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
不知道大家对今天讲的类的重载技术之方法重载学习的怎么样啊?有什么疑问欢迎来黑马程序员济南中心来咨询哟~
点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈
|