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 !(坚持不懈直到成功)

php接口 含义,php晋级必备:一文读懂php接口特点和使用!相关推荐

  1. 一文读懂Java接口

    一.浅析java接口 java接口是java语言中存在的一种特定结构,它有其特定的语法结构.其声明语法格式如下 [可见度] interface 接口名称 [extends 其他的接口名] {// 声明 ...

  2. 入门必备 | 一文读懂神经架构搜索

    作者 | Md Ashiqur Rahman 编译 | 刘静 转载自图灵TOPIA(ID: turingtopia) 近期谷歌大脑团队发布了一项新研究:只靠神经网络架构搜索出的网络,不训练,不调参,就 ...

  3. 一文读懂DEFI借贷以及清算的含义

    目录 什么是DEFI 什么是DEFI借贷 DeFi借贷步骤 借贷产品的分类 被清算的三箭资本 什么是DEFI DeFi 是 Decentralized Finance 的简称,即去中心化金融,是由区块 ...

  4. 一文读懂HDMI和VGA接口针脚定义

    一文读懂HDMI和VGA接口针脚定义 摘自:http://www.elecfans.com/yuanqijian/jiekou/20180423666604.html   HDMI概述 HDMI是高清 ...

  5. 语言相关系数显著性_相关性分析在SPSS中的具体操作,一文读懂相关系数的含义及使用——【杏花开生物医药统计】...

    相关性分析介绍 生物和医学统计中,相关分析属于流程前端的探索性分析,研究变量间关系及性质,其结果在为下一步采取何种方法做出指引,为数据挖掘之前的基础工作. 相关系数的选择 相关分析之前,需要先确认变量 ...

  6. 一文读懂元数据管理!

    原文:一文读懂元数据管理! - 知乎 数字化时代,企业需要知道他们拥有什么数据,数据在哪里.由谁负责,数据中的值意味着什么,数据的生命周期是什么,哪些数据安全性和隐私性需要保护,以及谁使用了数据,用于 ...

  7. 一文读懂SpringBoot中的事件机制

    一文读懂SpringBoot中的事件机制?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法. 要"监听"事件,我们总是 ...

  8. DDD - 一文读懂DDD领域驱动设计

    一文读懂DDD领域驱动设计 1. 领域驱动设计简介 1.1 什么是领域驱动设计 1.2 为什么要用领域驱动设计 优点 缺点 2.3 领域驱动设计过程 2. 对于DDD,我们需要学习什么? 2.1 DD ...

  9. “一文读懂“系列:Android中的硬件加速

    浅谈 前几天有个朋友问我"了不了解关于手机硬件加速方面的知识?",嗯?其实我也想知道... 于是笔者就去网上搜罗了文章再结合自己对源码的理解,总结了这篇关于硬件加速的理解. 关于屏 ...

最新文章

  1. 机器学习笔试题精选(五)
  2. vue-component
  3. MNE-Python教程汇总
  4. 湖南大学超级计算机中心 舒教授,湖南大学岳麓书院哲学系舒远招教授应邀来我院讲学...
  5. JVM:堆与栈的比较
  6. python bp神经网络 异或_基于python的BP神经网络及异或实现过程解析
  7. 物理拓扑和逻辑拓扑——现实和应用的比较
  8. 手机 java服务器ip地址_java获取系统当前服务器IP地址
  9. java转换字符集_Java字符集转换解释
  10. 12.10 Nginx访问日志;12.11 Nginx日志切割;12.12 静态文件不记录日志和过期
  11. C# 使用openxml解析PPTX中的文本内容
  12. unity检测范围内敌人_unity_小功能实现(敌人追踪主角)
  13. 计算机毕业设计 SSM+Vue消防管理系统 智慧消防系统 消防设备管理系统 消防知识宣传网站Java Vue MySQL数据库 远程调试 代码讲解
  14. c++如何输入一个不定长的字符串数组
  15. OAI——单虚拟机多basic核心网部署
  16. 降维之主成分分析法(PCA)
  17. 专题分纲目录 MEM/MBA数学基础
  18. C++中const关键字用法详解及实例和源码下载(一)
  19. java中什么是声明抽象_java中什么是抽象类?抽象类的声明
  20. FastAPI学习-3(路由参数详解)

热门文章

  1. 大话云存储,这个“对象”可能无处不在
  2. linux+oracle+自动增量备份脚本,linux自动运行rman增量备份脚本
  3. 企业微信_Windows版本调试
  4. 加载程序中数据库账号密码加密策略wallet_04
  5. 04_SSM整合ActiveMQ支持多种类型消息
  6. rsync 一条命令实现远程文件传输
  7. Java-Arrays类
  8. vue click事件_Vue.js---实现前后端分离架构中前端页面搭建(二)
  9. python 查看变量_剖析python运算符is和==的区别
  10. hibernate 复合主键 根据主键删除_Python 之 MySql“未解之谜”11--主键 id 那些事