PHP 抽象方法与抽象类abstract关键字介绍及应用


Posted in PHP onOctober 16, 2014

PHP 抽象方法与抽象类 abstract 关键字
abstract 关键字用于定义抽象方法与抽象类。

抽象方法

抽象方法指没有方法体的方法,具体就是在方法声明的时候没有 {} 括弧以及其中的内容,而是直接在声明时在方法名后加上分号结束。

abstract 关键字用于定义抽象方法,语法:
abstract function function_name();

抽象类

只要一个类里面有一个方法是抽象方法,那么这个类就要定义为抽象类。抽象类同样用 abstract 关键字来定义。
抽象类不能产生实例对象,通常是将抽象方法做为子类方法重载的模板使用的,且要把继承的抽象类里的方法都实现。实际上抽象类是方便继承而引入的。

例子:

<?php 

abstract class AbstractClass{ 

// 定义抽象方法 

abstract protected function getValue(); 

// 普通方法 

public function printOut(){ 

print $this->getValue()."<br />"; 

} 

} 

class ConcreteClass extends AbstractClass{ 

protected function getValue(){ 

return "抽象方法的实现"; 

} 

} 
$class1 = new ConcreteClass; 

$class1->printOut(); 

?>

在这个例子中,父类定义了抽象方法以及对于方法的实现,但实际的内容却在子类里定义。
PHP 相关文章推荐
php5 图片验证码实现代码
Dec 11 PHP
PHP XML操作类DOMDocument
Dec 16 PHP
php 数组二分法查找函数代码
Feb 16 PHP
理解和运用PHP中的多态性[译]
Aug 02 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 PHP
php获取qq用户昵称和在线状态(实例分析)
Oct 27 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
May 29 PHP
php动态函数调用方法
May 21 PHP
zend framework中使用memcache的方法
Mar 04 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
Yii框架用户登录session丢失问题解决方法
Jan 07 PHP
thinkPHP实现的省市区三级联动功能示例
May 05 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
Oct 16 #PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
Oct 15 #PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
Oct 15 #PHP
ThinkPHP分页实例
Oct 15 #PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
Oct 15 #PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
Oct 15 #PHP
PHP实现文件下载断点续传详解
Oct 15 #PHP
You might like
php学习笔记 数组遍历实现代码
2011/06/09 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
jquery.cookie() 方法的使用(读取、写入、删除)
2013/12/05 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
Javascript实现获取及设置光标位置的方法
2015/07/21 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
利用纯JS实现像素逐渐显示的方法示例
2017/08/14 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
js实现聊天对话框
2020/02/08 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
python按比例随机切分数据的实现
2019/07/11 Python
python 比较2张图片的相似度的方法示例
2019/12/18 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
国际礼品店:GiftsnIdeas
2018/05/03 全球购物
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
如何用SQL语句进行模糊查找
2015/09/25 面试题
教师评优事迹材料
2014/01/10 职场文书
银行简历自我评价
2014/02/11 职场文书
模特大赛策划方案
2014/05/28 职场文书
校运会加油稿大全
2015/07/22 职场文书
电台广播稿范文
2015/08/19 职场文书
《海上日出》教学反思
2016/02/23 职场文书
小学思想品德教学反思
2016/02/24 职场文书
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python
JS中如何优雅的使用async await详解
2021/10/05 Javascript
mysql的单列多值存储实例详解
2022/04/05 MySQL