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 相关文章推荐
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
Jul 09 PHP
在Windows中安装Apache2和PHP4的权威指南
Oct 09 PHP
用PHP编程开发“虚拟域名”系统
Oct 09 PHP
PHP4之COOKIE支持详解
Oct 09 PHP
用PHP生成html分页列表的代码
Mar 18 PHP
php array_slice函数的使用以及参数详解
Aug 30 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
PHP 翻页 实例代码
Aug 07 PHP
PHP 透明水印生成代码
Aug 27 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
php使用json-schema模块实现json校验示例
Sep 28 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在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
打造计数器DIY三步曲(上)
2006/10/09 PHP
mysq GBKl乱码
2006/11/28 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
深入理解JavaScript是如何实现继承的
2013/12/12 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
2019/10/14 Javascript
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
详解Python中where()函数的用法
2018/03/27 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
Python中的heapq模块源码详析
2019/01/08 Python
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
详解移动端HTML5音频与视频问题及解决方案
2018/08/22 HTML / CSS
HTML5图片预览实例分享
2014/06/04 HTML / CSS
解放思想大讨论活动心得体会
2014/09/11 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
大学生实习证明
2015/06/16 职场文书
党风廉政建设心得体会
2019/05/21 职场文书
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript
浅谈Python中对象是如何被调用的
2022/04/06 Python