PHP abstract 抽象类定义与用法示例


Posted in PHP onMay 29, 2018

本文实例讲述了PHP abstract 抽象类定义与用法。分享给大家供大家参考,具体如下:

PHP抽象类应用要点:

1.定义一些方法,子类必须完全实现这个抽象中所有的方法

2.不能从抽象类创建对象,它的意义在于被扩展

3.抽象类通常具有抽象方法,方法中没有大括号

PHP抽象类应用重点:

1.抽象方法不必实现具体的功能,由子类来完成

2.在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义

3.抽象类的方法可以有参数,也可以为空

4.如果抽象方法有参数,那么子类的实现也必须有相同的参数个数

示例:

//作用:抽象类不实现具体方法,具体方法由子类完成。
//定义抽象类 abstract
abstract class A{
  //abstract 定义抽象类的方法,这里没有花括号。子类必须实现这个抽象方法。
  abstract public function say();
  //抽象类可以有参数
  abstract public function eat($argument);
  //在抽象类中可以定义普通的方法。
  public function run(){
    echo '这是run方法';
  }
}
class B extends A{
  //子类必须实现父类的抽象方法,否则是致命的错误。
  public function say(){
    echo '这是say方法,实现了抽象方法';
  }
  public function eat($argument){
    echo '抽象类可以有参数 ,输出参数:'.$argument;
  }
}
$b =new B;
$b->say();
echo '<br>';
$b->eat('apple');
echo '<br>';
$b->run();

运行结果:

这是say方法,实现了抽象方法
抽象类可以有参数 ,输出参数:apple
这是run方法

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
Sep 24 PHP
PHP 翻页 实例代码
Aug 07 PHP
php中使用接口实现工厂设计模式的代码
Jun 17 PHP
解析php中die(),exit(),return的区别
Jun 20 PHP
PHP页面中文乱码分析
Oct 29 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
Jun 23 PHP
PHP中IP地址与整型数字互相转换详解
Aug 20 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
Sep 22 PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
Mar 13 PHP
php递归删除指定文件夹的方法小结
Apr 20 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
Dec 29 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 #PHP
在Laravel中使用DataTables插件的方法
May 29 #PHP
ThinkPHP实现的rsa非对称加密类示例
May 29 #PHP
PHP中实现中文字串截取无乱码的解决方法
May 29 #PHP
php实现表单提交上传文件功能
May 28 #PHP
PHP封装的非对称加密RSA算法示例
May 28 #PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
May 28 #PHP
You might like
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
在php中使用sockets:从新闻组中获取文章
2006/10/09 PHP
php面向对象全攻略 (五) 封装性
2009/09/30 PHP
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
js使用post 方式打开新窗口
2015/02/26 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
vue如何集成raphael.js中国地图的方法示例
2017/08/15 Javascript
jQuery获取随机颜色的实例代码
2018/05/21 jQuery
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
2019/04/11 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
在漏洞利用Python代码真的很爽
2007/08/26 Python
Python用Pillow(PIL)进行简单的图像操作方法
2017/07/07 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
Omio西班牙:全欧洲低价大巴、火车和航班搜索和比价
2017/02/11 全球购物
Meli Melo官网:名媛们钟爱的英国奢侈手包品牌
2017/04/17 全球购物
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
社区消防工作实施方案
2014/03/21 职场文书
创先争优一句话承诺
2014/05/29 职场文书
党的生日演讲稿
2014/09/10 职场文书
千与千寻观后感
2015/06/04 职场文书
医院消毒隔离制度
2015/08/05 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
python 逐步回归算法
2021/04/06 Python