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分页函数
Jul 08 PHP
PHP获取网站域名和地址的代码
Aug 17 PHP
基于PHP文件操作的详解
Jun 05 PHP
ThinkPHP CURD方法之page方法详解
Jun 18 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
php实现在服务器上创建目录的方法
Mar 16 PHP
深入探究PHP的多进程编程方法
Aug 18 PHP
php上传大文件设置方法
Apr 14 PHP
PHP实现的登录,注册及密码修改功能分析
Nov 25 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 PHP
PHP实现合并两个排序链表的方法
Jan 19 PHP
PHP格式化显示时间date()函数代码
Oct 03 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网站的几个实用要点
2014/12/30 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
2015/04/15 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
PHP7匿名类用法分析
2016/09/26 PHP
laravel创建类似ThinPHP中functions.php的全局函数
2016/11/26 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
js判断某个方法是否存在实例代码
2015/01/10 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
举例讲解如何判断JavaScript中对象的类型
2016/04/22 Javascript
jquery pagination分页插件使用详解(后台struts2)
2017/01/22 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
Python中优化NumPy包使用性能的教程
2015/04/23 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
python能否java成为主流语言吗
2020/06/22 Python
python接入支付宝的实例操作
2020/07/20 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
CSS3 3D旋转rotate效果实例介绍
2016/05/03 HTML / CSS
如何填写个人简历自我评价
2013/12/10 职场文书
幼儿教师考核制度
2014/01/25 职场文书
岗位说明书范文
2014/05/07 职场文书
工作简历自我评价
2015/03/11 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
生死抉择观后感
2015/06/09 职场文书
太空授课观后感
2015/06/17 职场文书
教师网络培训心得体会
2016/01/09 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
解决Golang中goroutine执行速度的问题
2021/05/02 Golang