php晋级必备:一文读懂php接口的特点和使用!

PHP接口与类是什么关系?

前面提到了php中抽象类和抽象方法,今天给大家谈谈php中接口技术。在PHP中每个类只能继承一个父类,如果声明的新类继承了抽象类实现了以后,这个新类就不能有其它的父类了。但是在实际中需要继承多个类实现功能,为了解决不能继承多个类的问题php引入了接口概念。PHP接口与类是什么关系?PHP接口是一种特殊的抽象类,而抽象类又是一种特殊的类,所以PHP接口也是一种特殊类的。抽象类和PHP接口都不能实例化对象,需要通过子类实现。

接口的特点

在PHP接口中所有声明的方法都必须是抽象方法,方法不需要用abstract关键字,因为方法默认是公共权限,也不需要用pubilc表示。不能在接口中声明变量,可以使用const关键字声明常量属性,PHP接口中所有成员必须有public的访问权限。类声明用“class”关键字,而接口的声明是使用“interface”关键字,可以使用extends关键字让接口去继承接口,实现接口之前扩展。声明格式如下:

接口中内全部抽象方法,需要子类的对象去调用在子类中实现方法。类去继承接口时需要使用“implement”关键字来实现,不是使用extends关键字完成。抽象类去实现接口中的部分方法,也需要使用implement关键字实现。声明一个接口A,抽象类B使用implements继承了接口A,抽象类B中声明接口A中的抽象方法a,声明一个类C中继承了接口A中的抽象方法a和抽象方法b。代码如下:

php接口使用注意事项

PHP是单继承的,一个类只能有一个父类,但是接口可以实现多个接口。将要实现的多个接口之前使用逗号分隔开,而且子类要将所有的接口中的抽象方法全部实现才能创建对象,否则会出错。接口相当于一个规范,打个比方接口像是国家法律,而抽象类就像是单位的规章制度,在单位要遵守的单位制度同时也要遵守国家的法律。实现继承多个接口语法是class 类名 接口1,接口2,接口3,....接口n{}。最后在提醒大家一次子类一定要实现接口中所有的抽象方法,否则会报错!

每天分享一个知识点,每日寄语:Perseverance until success !(坚持不懈直到成功)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180729A0F3XO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券