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 相关文章推荐
Classes and Objects in PHP5-面向对象编程 [1]
Oct 09 PHP
php下实现一个阿拉伯数字转中文数字的函数
Jul 10 PHP
让PHP支持断点续传的源码
May 16 PHP
PHP错误提示的关闭方法详解
Jun 23 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
浅析php原型模式
Nov 25 PHP
php限制上传文件类型并保存上传文件的方法
Mar 13 PHP
PHP消息队列用法实例分析
Feb 12 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
PHP巧妙利用位运算实现网站权限管理的方法
Mar 12 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 PHP
php微信开发之关注事件
Jun 14 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
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
浅谈JavaScript的函数及作用域
2016/12/30 Javascript
微信JSAPI支付操作需要注意的细节
2017/01/10 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
Python处理json字符串转化为字典的简单实现
2016/07/07 Python
Django如何自定义分页
2018/09/25 Python
MxNet预训练模型到Pytorch模型的转换方式
2020/05/25 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
如何开启linux的ssh服务
2013/06/03 面试题
促销活动总结报告
2014/04/26 职场文书
说明书怎么写
2014/05/06 职场文书
巴西世界杯32强口号
2014/06/05 职场文书
圣诞晚会主持词
2015/07/01 职场文书
事业单位岗位说明书
2015/10/08 职场文书
Win10此设备不支持接收Miracast无法投影的解决方法
2022/07/07 数码科技
详解CSS3浏览器兼容
2022/12/24 HTML / CSS