php 接口使用场景,接口使用场景、trait基本功能
接口使用场景
单接口
接口可以突破PHP类的继承限制,允许多继承,形成了多层级的接口
用抽象类来部分实现一个接口
接口是实现多态的重要手段<?php
interface Animal
{
const MOTION = 'fly';
public function eatFood();
}
abstract class Flying
{
abstract public function fly();
}
class Bird extends Flying implements Animal
{
public function eatFood()
{
return __CLASS__.'吃虫子'.',拥有技能:'.Bird::MOTION.'
';
}
public function fly()
{
return '我可以飞行';
}
}
$bird = new Bird;
echo $bird->eatFood();
echo $bird->fly();
2trait:与抽象类,接口一样不能实例化,只能嵌入到宿主类中使用<?php
trait tUniversity
{
protected $area;
protected $totalPeroson;
public function setIntroduce($area,$totalPeroson){
$this->area = $area;
$this->totalPeroson = $totalPeroson;
}
public function getIntroduce(){
echo '占地面积:'.$this -> area.'校园总人数:'.$this -> totalPeroson.'
';
}
}
class Peking
{
use tUniversity;
}
$peking = new Peking();
$area = '约7000亩';
$totalPeroson = '三万五千多';
$peking->setIntroduce($area,$totalPeroson);
$peking->getIntroduce();
class Tsinghua
{
use tUniversity;
}
$tsingHua = new Tsinghua;
$area = '392.4公顷';
$totalPeroson = '四万七千多';
$tsingHua->setIntroduce($area,$totalPeroson);
$tsingHua->getIntroduce();
总结:接口中只允许有抽象方法以及常量,接口中的方法默认就是抽象的,它的抽象类的一种升级,抽象类中还可以有其他属性;trait很好的实现了代码的复用,trait中可以有常规属性、静态属性以及抽象属性。
php 接口使用场景,接口使用场景、trait基本功能相关推荐
- 腾讯地图api_数据库API接口的类型及应用场景
Database API interface 数据库API接口 的类型及应用场景 -keynote speaker- 主讲嘉宾:黄镝 时间:2020年12月16日 晚上7:00 「昆虫小课堂」202 ...
- C#中抽象类和接口的区别与应用场景
一直对这两个基础概念没有很好的认识,在网上发现一个我能够理解的基础概念理解,存一下,反复看. C#中抽象类和接口的区别与应用场景一. 1.抽象类:抽象类是特殊的类,只是不能被实例化;和普通类一样里面什 ...
- 抽象类和接口的区别及使用场景
原文链接:https://blog.csdn.net/qq_37766026/article/details/90702387 抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来, ...
- Go 学习笔记(35)— Go 接口 interface (接口声明、接口初始化、接口方法调用、接口运算、类型断言、类型查询、空接口)
1. 接口概念 接口是双方约定的一种合作协议.接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节.接口是一种类型,也是一种抽象结构,不会暴露所含数据的格式.类型及结构. 接口内部存 ...
- python接口自动化接口依赖_Python接口自动化之mock模块简单使用
mock简介 mock原是python的第三方库,python 2可以直接安装mock模块,但在python 3.3以后mock模块已经整合到了unittest测试框架中,不需要再单独安装. Mock ...
- ARMS企业级场景被集成场景介绍
简介:ARMS企业级场景被集成场景介绍 通过本次最佳实践内容,您可以看到ARMS OpenAPI可以灵活的被集成到客户链路监控场景,并对其进行可视化图形展示监控信息. 1. 背景信息 应用实时监控服务 ...
- Callable接口、Runable接口、Future接口
转自:https://www.cnblogs.com/felixzh/p/6044371.html 参考:https://blog.csdn.net/qq_36761831/article/detai ...
- jmeter的java测试框架_性能测试学习之路 (四)jmeter 脚本开发实战(JDBC JMS 接口脚本 轻量级接口自动化测试框架)...
1.业务级脚本开发 登录脚本->思路:在线程组下新建两个HTTP请求,一个是完成访问登录页,一个是完成登录的数据提交. 步骤如下: 1) 访问登录页 2) 提交登录数据的HTTP PS:对于业务 ...
- Python接口自动化之接口依赖
VOL 129 28 2020-05 今天距2021年216天 这是ITester软件测试小栈第129次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 ...
- python接口自动化(五)--接口测试用例和接口测试报告模板(详解)
简介 当今社会在测试领域,接口测试已经越来越多的被提及,被重视,而且现在好多招聘信息要对接口测试提出要求.区别于传统意义上的系统级别测试,很多测试人员在接触到接口测试的时候,也许对测试执行还可以比较顺 ...
最新文章
- 果粉们注意了 外媒爆料以下机型不再支持iOS 13
- python软件是免费的吗-谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信...
- 解决ubuntu命令行中文显示为问号的问题
- c语言 枚举,位运算
- King of Range
- 小程序开发语言python_小程序是用什么语言开发的?5种最佳语言分享
- 面试题:各大公司Java后端开发面试题总结 已看1 背1 有用 链接有必要看看
- python第六篇:Python复制超大文件、复制二进制文件
- 2016年Google面筋记录
- Windows 10 Python 深度学习环境安装
- R与RStudio的详细安装教程(有每一步的详细教程!!!!)
- 【模糊控制器】基于simulink的模糊控制器设计
- Linux 的 EXT4 文件系统的历史、特性以及最佳实践
- Ochestrator企业数据总线
- 常用Firefox插件大全
- 关于solidworks+workbench的参数化建模分析的一点心得1
- 猜数字游戏 由计算机,猜数字游戏实验报告
- 2022年最新谷歌翻译chrome 浏览器翻译解决方案
- Pycharm远程连接服务器(实践笔记)
- unity打包报错,又是血压升高的一天