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 向访客和爬虫显示不同的内容
Nov 09 PHP
PHP操作Memcache实例介绍
Jun 14 PHP
解析php中获取url与物理路径的总结
Jun 21 PHP
PHP如何利用P3P实现跨域
Aug 24 PHP
访问编码后的中文URL返回404错误的解决方法
Aug 20 PHP
php中switch与ifelse的效率区别及适用情况分析
Feb 12 PHP
Mac OS下配置PHP+MySql环境
Feb 25 PHP
学习php设计模式 php实现观察者模式(Observer)
Dec 09 PHP
php使用curl详细解析及问题汇总
Aug 11 PHP
Yii2.0框架模型多表关联查询示例
Jul 18 PHP
关于laravel框架中的常用目录路径函数
Oct 23 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
Dec 12 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开发文件系统实例讲解
2006/10/09 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
对于jQuery性能的一些优化建议
2015/08/13 Javascript
Bootstrap入门书籍之(三)栅格系统
2016/02/17 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
2016/06/25 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
Python中AND、OR的一个使用小技巧
2015/02/18 Python
深入理解 Python 中的多线程 新手必看
2016/11/20 Python
Python制作Windows系统服务
2017/03/25 Python
详解python中的Turtle函数库
2018/11/19 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
Python3 批量扫描端口的例子
2019/07/25 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
Python读取Excel一列并计算所有对象出现次数的方法
2020/09/04 Python
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
中学生操行评语
2014/04/24 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
农村婚礼司仪主持词
2015/06/29 职场文书
军训阅兵新闻稿
2015/07/17 职场文书
毕业生的自我鉴定表范文
2019/05/16 职场文书