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 相关文章推荐
mysq GBKl乱码
Nov 28 PHP
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
Nov 18 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
Jun 28 PHP
微信公众平台天气预报功能开发
Jul 06 PHP
Javascript与PHP验证用户输入URL地址是否正确
Oct 09 PHP
PHP 快速排序算法详解
Nov 10 PHP
如何利用http协议发布博客园博文评论
Aug 03 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
PHP微信分享开发详解
Jan 14 PHP
php实现的表单验证类完整示例
Aug 13 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 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
Yii核心验证器api详解
2016/11/23 PHP
PHP设计模式之工厂模式详解
2017/10/24 PHP
跨浏览器的事件对象介绍
2012/06/27 Javascript
js中直接声明一个对象的方法
2014/08/10 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
2015/04/27 Javascript
全面理解闭包机制
2016/07/11 Javascript
对javascript继承的理解
2016/10/11 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
JavaScript优化以及前段开发小技巧
2017/02/02 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
详谈js原型继承的一些问题
2017/09/06 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
vue 解决form表单提交但不跳转页面的问题
2019/10/30 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
vue集成openlayers加载geojson并实现点击弹窗教程
2020/09/24 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
Python中获取对象信息的方法
2015/04/27 Python
python中requests库session对象的妙用详解
2017/10/30 Python
PyQt使用QPropertyAnimation开发简单动画
2020/04/02 Python
python 异步async库的使用说明
2020/05/04 Python
html svg生成环形进度条的实现方法
2019/09/23 HTML / CSS
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
阿里巴巴英国:Alibaba英国
2019/12/11 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
竞聘医务工作人员的自我评价分享
2013/11/04 职场文书
读书心得体会
2013/12/28 职场文书
公益活动策划方案
2014/01/09 职场文书
物业管理委托协议(2篇)
2014/09/23 职场文书
创业计划书之小型广告公司
2019/10/22 职场文书
详解Python常用的魔法方法
2021/06/03 Python