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 相关文章推荐
php异常处理技术,顶级异常处理器
Jun 13 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
Jul 08 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
Oct 23 PHP
php创建session的方法实例详解
Jan 27 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
Aug 08 PHP
PHP中大括号'{}'用法实例总结
Feb 08 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
ThinkPHP实现简单登陆功能
Apr 28 PHP
PHP格式化显示时间date()函数代码
Oct 03 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 PHP
PHP使用PDO 连接与连接管理操作实例分析
Apr 21 PHP
Laravel相关的一些故障解决
Aug 19 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
mysql数据库差异比较的PHP代码
2012/02/05 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
ThinkPHP之用户注册登录留言完整实例
2014/07/22 PHP
php的4种常见运行方式
2015/03/20 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
Gird事件机制初级读本
2007/03/10 Javascript
jquery对表单操作2
2011/04/06 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
[33:17]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
python实现停车管理系统
2018/11/30 Python
详解python持久化文件读写
2019/04/06 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
appium+python adb常用命令分享
2020/03/06 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
html5 canvas的绘制文本自动换行的示例代码
2018/09/17 HTML / CSS
白酒市场开发计划书
2014/01/09 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
平面设计专业求职信
2014/08/09 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
自我评价优缺点范文
2015/03/11 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书
您对思维方式了解多少?
2019/12/09 职场文书
Java数据结构之链表相关知识总结
2021/06/18 Java/Android