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下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
Dec 29 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
Jun 28 PHP
destoon常用的安全设置概述
Jun 21 PHP
PHP获取文件行数的方法
Jun 10 PHP
php生成验证码函数
Oct 20 PHP
php计算多个集合的笛卡尔积实例详解
Feb 16 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
Aug 07 PHP
利用PHPStorm如何开发Laravel应用详解
Aug 30 PHP
PHP+Oracle本地开发环境搭建方法详解
Apr 01 PHP
php写入mysql中文乱码的实例解决方法
Sep 17 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
Mar 04 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/03/24 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
PHP fprintf()函数用法讲解
2019/02/16 PHP
javascript中获取选中对象的类型
2007/04/02 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
js实现微信分享代码
2020/10/11 Javascript
JS常用函数和常用技巧小结
2016/10/15 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
layer.prompt输入层的例子
2019/09/24 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
基于Django模板中的数字自增(详解)
2017/09/05 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
python实现的发邮件功能示例
2019/09/11 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
Django多数据库联用实现方法解析
2020/11/12 Python
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
Emma Bridgewater官网:英国餐具制造商
2019/11/24 全球购物
巴西购物网站:Onofre Agora
2020/06/08 全球购物
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
班组长工作职责
2013/12/25 职场文书
本科生职业生涯规划书范文
2014/01/21 职场文书
化工专业自荐书
2014/06/16 职场文书
活动费用申请报告
2015/05/15 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python