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 相关文章推荐
详细介绍PHP应用提速面面观
Oct 09 PHP
某大型网络公司应聘时的笔试题目附答案
Mar 27 PHP
PHP 错误之引号中使用变量
May 04 PHP
9个PHP开发常用功能函数小结
Jul 15 PHP
PHP 设计模式之观察者模式介绍
Feb 22 PHP
php中使用接口实现工厂设计模式的代码
Jun 17 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
Aug 31 PHP
PHP三元运算的2种写法代码实例
May 12 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
Jun 19 PHP
smarty模板引擎基础知识入门
Mar 30 PHP
php事件驱动化设计详解
Nov 10 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无序树实现方法
2015/07/28 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
2016/08/31 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
JavaScript自定义超时API代码实例
2020/04/30 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
Python读取word文本操作详解
2018/01/22 Python
django 消息框架 message使用详解
2019/07/22 Python
自荐信格式范文
2013/10/07 职场文书
应届生保险求职信
2013/11/11 职场文书
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
个人原因辞职信模板
2015/05/13 职场文书
信用卡催款律师函
2015/05/27 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python