源来页 公告 登陆

 php接口interface的作用

composer @Ta
2021-01-23 21:52

PHP接口(interface)的特点 
1、接口的方法必须是公开的。 
2、接口的方法默认是抽象的,所以不在方法名前面加abstract。 
3、接口可以定义常量,但不能定义成员属性,常量的定义和用法和类中常量一样。 
4、类可以实现多个接口(相当于把多个功能集于一身,如手机实现了小灵通、MP3、MP4的功能) 
5、接口也可以继承接口。

PHP同大多数的面向对象语言一样,并不支持多重继承。如果需要实现多重继承功能,在PHP中,可以通过接口,它是PHP解决多重继承问题的方法,在php5.4版本之后有个类的新特性trait,有兴趣的可以百度下。

接口的思想是指定一个实现了该接口的类必须实现的一系列函数。如果没有实现接口中指定的方法,将产生一个致命错误。

当有很多人一起开发一个项目时,可能都会去调用别人写的一些类,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个时候PHP接口类interface就起到作用了,当我们定义了一个接口类时,它里面的方式是下面的子类必须实现的,比如 :

接口interface 是一个规定,给人继承用的东西,有点像抽象类
 在里面定义的方法,却不去实例化,而需要别的类去implements 它,而且必须一一实现接口定义的所有方法,

 举个例子

interface Shop
 {
 public function buy($gid);
 public function sell($gid);
 public function view($gid);
 }

我声明一个shop接口类,定义了三个方法:买(buy),卖(sell),看(view),那么继承此类的所有子类都必须实现这3个方法少一个都 不行,如果子类没有实现这些话,就无法运行。实际上接口类说白了,就是一个类的模板,一个类的规定,如果你属于这类,你就必须遵循我的规定,少一个都不 行,但是具体你怎么去做,我不管,那是你的事,如:

class BaseShop implements Shop
 {
 public function buy($gid)
 {
 echo('你购买了ID为 :'.$gid.'的商品');
 }
public function sell($gid)
 {
 echo('你卖了ID为 :'.$gid.'的商品');
 }
public function view($gid)
 {
 echo('你查看了ID为 :'.$gid.'的商品');
 }
 }

转载于
作者:
Undefind_object

地址:
https://blog.csdn.net/chengjianghao/article/details/92837947
阅:314 发表于2021-01-23 21:52
#php教程
评论:

返回源来页/返回首页


天合之作 曲在人意

心灵鸡汤:
      

®2019-2021 all power by Zlproject3.6
川公网安备 51192202000151号
蜀ICP备2021014921号-2 首页 #top

本网站由提供CDN加速/云储存服务

天合之作 曲在人意