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 相关文章推荐
关于Sphinx创建全文检索的索引介绍
Jun 25 PHP
php后门URL的防范
Nov 12 PHP
使用PHP破解防盗链图片的一个简单方法
Jun 07 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 PHP
php数组索引的Key加引号和不加引号的区别
Aug 19 PHP
PHP中imagick函数的中文解释
Jan 21 PHP
php cookie 详解使用实例
Nov 03 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
基于 Swoole 的微信扫码登录功能实现代码
Jan 15 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP进阶学习之命名空间基本用法分析
Jun 18 PHP
laravel 框架执行流程与原理简单分析
Feb 01 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笔记 字符串处理
2010/10/19 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
PHP删除数组中的特定元素的代码
2012/06/28 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
ThinkPHP文件上传实例教程
2014/08/22 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
javaScript基础语法介绍
2015/02/28 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
nodejs实现邮件发送服务实例分享
2017/03/29 NodeJs
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
微信小程序实现搜索历史功能
2020/03/26 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
2020/04/08 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
Vue 实现一个简单的鼠标拖拽滚动效果插件
2020/12/10 Vue.js
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
Linux系统(CentOS)下python2.7.10安装
2018/09/26 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
从python读取sql的实例方法
2020/07/21 Python
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
家长建议怎么写
2014/05/15 职场文书
施工安全责任书范本
2014/07/24 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书