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 手机归属地查询 api
Feb 08 PHP
PHP中用hash实现的数组
Jul 17 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
ThinkPHP中的关联模型注意点
Jun 16 PHP
2014年最新推荐的10款 PHP 开发框架
Aug 01 PHP
thinkphp中session和cookie无效的解决方法
Dec 19 PHP
PHP7 新特性详细介绍
Sep 06 PHP
PHP类型约束用法示例
Sep 28 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
Feb 15 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
Aug 14 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
Oct 08 PHP
laravel5.5添加echarts实现画图功能的方法
Oct 09 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
PHP 和 MySQL 基础教程(三)
2006/10/09 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
2013/06/20 PHP
使用PHP实现Mysql读写分离
2013/06/28 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
2015/03/04 Javascript
JavaScript中string对象
2015/06/12 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
js简易版购物车功能
2017/06/17 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
使用Python抓取模板之家的CSS模板
2015/03/16 Python
python简单实现操作Mysql数据库
2018/01/29 Python
python3判断url链接是否为404的方法
2018/08/10 Python
python字符串格式化方式解析
2019/10/19 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
英国航空官网:British Airways
2016/09/11 全球购物
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
外贸业务员求职自荐信分享
2013/09/21 职场文书
幼儿园教师工作感言
2014/02/15 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
医院保洁员岗位职责
2015/02/13 职场文书
开学典礼校长致辞
2015/07/29 职场文书
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android
数据设计之权限的实现
2022/08/05 MySQL