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 相关文章推荐
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
php生成WAP页面
Oct 09 PHP
晋城吧对DiscuzX进行的前端优化要点
Sep 05 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 PHP
php 检查电子邮件函数(自写)
Jan 16 PHP
分享下页面关键字抓取components.arrow.com站点代码
Jan 30 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
php文件读取方法实例分析
Jun 20 PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 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
php 小乘法表实现代码
2009/07/16 PHP
关于页面优化和伪静态
2009/10/11 PHP
PHP的范围解析操作符(::)的含义分析说明
2011/07/03 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
IE6-IE9不支持table.innerHTML的解决方法分享
2012/09/14 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
微信小程序 详解Page中data数据操作和函数调用
2017/01/12 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
python 解析html之BeautifulSoup
2009/07/07 Python
python聊天程序实例代码分享
2013/11/18 Python
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
python数据处理实战(必看篇)
2017/06/11 Python
Python实现图片转字符画的示例代码
2017/08/21 Python
python matplotlib imshow热图坐标替换/映射实例
2020/03/14 Python
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
linux下进程间通信的方式
2014/12/23 面试题
优秀党支部事迹材料
2014/01/14 职场文书
九年级化学教学反思
2014/01/28 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
党员干部群众路线个人整改措施
2014/09/18 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
你知道Java Spring的两种事务吗
2022/03/16 Java/Android
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android