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 相关文章推荐
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
Php Ctemplate引擎开发相关内容
Mar 03 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 PHP
浅析php单例模式
Nov 25 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
Oct 01 PHP
使用PHP实现微信摇一摇周边红包
Jan 04 PHP
实例介绍PHP中zip_open()函数用法
Feb 15 PHP
PHP数组遍历的几种常见方式总结
Feb 15 PHP
PHP filesize函数用法浅析
Feb 15 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 PHP
PHP 图片处理
Sep 16 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正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
PHP模糊查询的实现方法(推荐)
2016/09/06 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
laravel config文件配置全局变量的例子
2019/10/13 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
jQuery实现的类flash菜单效果代码
2010/05/17 Javascript
关于html+ashx开发中几个问题的解决方法
2011/07/18 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
2016/08/10 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
Angular4自制一个市县二级联动组件示例
2017/11/21 Javascript
zTree节点文字过多的处理方法
2017/11/24 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
Python中常用信号signal类型实例
2018/01/25 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
Python WSGI的深入理解
2018/08/01 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
Python3标准库总结
2019/02/19 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
2020/10/30 Python
上海微创软件面试题
2012/06/14 面试题
我的中国梦口号
2014/06/16 职场文书
课外活动总结范文
2014/07/09 职场文书
2014年幼儿园教研工作总结
2014/12/04 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书