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 简单数组排序实现代码
Aug 05 PHP
简单的php新闻发布系统教程
May 09 PHP
PHP中使用xmlreader读取xml数据示例
Dec 29 PHP
PHP的文件操作与算法实现的面试题示例
Aug 10 PHP
PHP实现搜索相似图片
Sep 22 PHP
PHP面试常用算法(推荐)
Jul 22 PHP
CodeIgniter整合Smarty的方法详解
Aug 25 PHP
php双层循环(九九乘法表)
Oct 23 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
微信小程序发送订阅消息的方法(php 为例)
Oct 30 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 PHP
Laravel框架源码解析之入口文件原理分析
May 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
PHP程序员基本要求和必备技能
2014/05/09 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
2015/08/17 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
深究AngularJS之ui-router详解
2017/06/13 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
2019/11/13 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
基于python实现高速视频传输程序
2019/05/05 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
python3 字符串知识点学习笔记
2020/02/08 Python
将python字符串转化成长表达式的函数eval实例
2020/05/11 Python
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
Mybag美国/加拿大:英国奢华包包和名牌手袋网站
2020/02/16 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
反邪教标语
2014/06/23 职场文书
家具商场的活动方案
2014/08/16 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
新郎新娘答谢词
2015/01/04 职场文书
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
Python利用capstone实现反汇编
2022/04/06 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python
pycharm无法安装cv2模块问题
2022/05/20 Python