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中uploaded_files函数使用方法详解
Mar 09 PHP
PHP的substr_replace将指定两位置之间的字符替换为*号
May 04 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
Jun 04 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
Oct 27 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
PHP循环函数使用介绍之PHP基础入门教程
Sep 21 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
Jan 22 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
简单谈谈PHP中的Reload操作
Dec 12 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
PHP+jQuery实现双击修改table表格功能示例
Feb 21 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
Oct 18 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
php中理解print EOT分界符和echo EOT的用法区别小结
2010/02/21 PHP
PHP学习笔记之二
2011/01/17 PHP
PHP获取url的函数代码
2011/08/02 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
php封装的page分页类完整实例
2016/10/18 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
2020/04/26 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
python定时检查某个进程是否已经关闭的方法
2015/05/20 Python
python http基本验证方法
2018/12/26 Python
对Python函数设计规范详解
2019/07/19 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
最新英语专业学生求职信范文
2013/09/21 职场文书
毕业生动漫设计求职信
2013/10/11 职场文书
商超业务员岗位职责
2014/03/12 职场文书
《中国梦我的梦》中学生演讲稿
2014/08/20 职场文书
小学生教师节演讲稿
2014/09/03 职场文书
详细的本科生职业生涯规划范文
2014/09/16 职场文书
地球一小时活动总结
2015/02/27 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
Opencv实现二维直方图的计算及绘制
2021/07/21 Python