php抽象类和接口的区别

https://www.cnblogs.com/vinter/p/8716685.html

什么时候适合使用 --- 多个角色配合工作:抽象角色对应具体角色;

<?php
interface icar{
function Run();
} class daben implements icar{
public function Run()
{
echo "奔驰汽车" ;
}
} class aodi implements icar{
public function Run() {
echo "奥迪汽车";
}
} abstract class road{
public $icar; abstract function Run ();
} class gaosu extends road{ function Run (){
$this->icar->Run();
echo ":在告诉路上行驶";
}
} class xiaolu extends road {
function Run () {
$this->icar->Run();
echo ":在小路路上行驶";
}
} $gaosuroad = new gaosu();
$gaosuroad->icar= new aodi();
$gaosuroad->run(); $gaosuroad = new xiaolu();
$gaosuroad->icar= new daben();
$gaosuroad->run();

最新文章

  1. MFC 创建多层目录
  2. Django(三)
  3. 批量修改string中的字符
  4. Code First 迁移
  5. 清除BOM头源码
  6. Android IOS WebRTC 音视频开发总结(六一)-- 大数据解密国内实时通讯行业开发现状
  7. eclipse 常用的一些设置
  8. Swift - 自定义函数规则说明
  9. 我眼中的微信小程序
  10. Android 图片加载框架Glide4.0源码完全解析(一)
  11. impala基础
  12. Springboot 系列(六)Spring Boot web 开发之拦截器和三大组件
  13. POSIX信号量
  14. 【RL-TCPnet网络教程】第31章 Telnet远程登录基础知识
  15. int 和 Integer
  16. Linux系统特点
  17. Allegro PCB Design GXL (legacy) 刷新PCB封装(Package)中的焊盘(Padstack)
  18. 整体C#与Sql培训内容及结构
  19. 2018 ICPC 区域赛 焦作场 D. Keiichi Tsuchiya the Drift King(计算几何)
  20. Go语言包管理工具dep

热门文章

  1. CVE-2020-17523:Apache Shiro身份认证绕过漏洞分析
  2. 使用Squid部署代理缓存服务(标准正向、透明正反向代理)
  3. Linux搭建Snmp服务
  4. SQL 练习31
  5. SpringBoot启动异常 Process finished with exit code 1
  6. .Net Core with 微服务 - 分布式事务 - TCC
  7. SQL:多表查询
  8. jquery 操作checkbox是否选中的正确方法
  9. ASP.NET Core教程:ASP.NET Core使用AutoMapper
  10. vue项目打包 部署nginx服务器 访问远程接口 本地json 跨域问题