类的接口

基本概念:

接口就是一个对象对外的公开(public)的操作方法!

在PHP中定义一个接口,其实就是一种纯粹的规范或规定,规定该接口的下级类必须要“实现”的公共方法!

接口不是类!接口是类的规范,类又是对象的规范!

在一个接口中,只能出现两种成员:

接口常量:其实就是普通的常量,只不过是出现在接口中而已!

抽象方法:没有方法体的方法,但是此时,抽象方法必须声明为public(与抽象类中的抽象方法不同)

 

 

这里的抽象方法不需要使用abstract关键字

因为接口中的方法只能是抽象方法,不能是其他的普通方法!不会造成混淆!

此时,如果要使接口作用到类上,就必须使用implements关键字,意思为“实现”,其实和继承的本质是一样的!

 

当一个类“实现”一个接口的时候,也只有两种选择:

 

  1. 实现该接口中所有的公开的抽象方法(完善方法体)
  2. 如果该类没有实现接口中全部公开的抽象方法,就应该把该类声明成抽象类,然后等待更下一级的类去实现!此时,没有被实现的方法最好继续声明成抽象方法!

接口与抽象类的比较

  1. 接口不是类,但是抽象类是类
  2. 从逻辑或结构上看,接口可以看成是抽象类的一个“子集”,比抽象类更“抽象”,只有抽象方法没有其他的普通的方法
  3. PHP不支持多继承,但是,支持多实现!也就是说,一个类可以同时实现多个接口,这有是接口与抽象类最本质的区别!
  4. 接口与抽象类都可以作为其他类的规范,都可以规定下级类的内部结构,但是在真实的项目中,接口使用的要多一些!

猜你喜欢

转载自blog.csdn.net/huihuikuaipao_/article/details/83028966
今日推荐