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常用函数小技巧
Sep 11 PHP
数据库中排序的对比及使用条件详解
Feb 23 PHP
php 如何获取数组第一个值
Aug 06 PHP
试用php中oci8扩展
Jun 18 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Dec 21 PHP
Symfony2实现在doctrine中内置数据的方法
Feb 05 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
DWZ+ThinkPHP开发时遇到的问题分析
Dec 12 PHP
php语言注释,单行注释和多行注释
Jan 21 PHP
PHP手机短信验证码实现流程详解
May 17 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/09/06 PHP
php对二维数组进行排序的简单实例
2013/12/19 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
基于JQuery 滑动与动画的说明介绍
2013/04/18 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
vue与django集成打包的实现方法
2019/11/11 Javascript
详解Python中的__init__和__new__
2014/03/12 Python
Python实现多并发访问网站功能示例
2017/06/19 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
公司捐款倡议书
2014/05/14 职场文书
乳制品整治工作方案
2014/05/29 职场文书
研究生求职自荐书
2014/06/23 职场文书
商务经理岗位职责
2014/07/30 职场文书
平安家庭事迹材料
2014/12/20 职场文书
2015年客服工作总结范文
2015/04/02 职场文书
开学第一天的感想
2015/08/10 职场文书
生日宴会祝酒词
2015/08/10 职场文书
2015年物业公司保洁工作总结
2015/10/22 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书
自荐信大全
2019/03/21 职场文书