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中基本符号及使用方法
Mar 23 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 PHP
php判断终端是手机还是电脑访问网站的思路及代码
Apr 24 PHP
使用php清除bom示例
Mar 03 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
php实现批量压缩图片文件大小的脚本
Jul 04 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
Jan 28 PHP
腾讯CMEM的PHP扩展编译安装方法
Sep 25 PHP
使用phpstorm和xdebug实现远程调试的方法
Dec 29 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 18 PHP
关于laravel模板中生成URL的几种模式总结
Oct 18 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采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
PHP闭包函数详解
2016/02/13 PHP
php表单处理操作
2017/11/16 PHP
客户端限制只能上传jpg格式图片的js代码
2010/12/09 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
JS实现获取当前URL和来源URL的方法
2016/08/24 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
JS+jQuery实现注册信息的验证功能
2017/09/26 jQuery
基于casperjs和resemble.js实现一个像素对比服务详解
2018/01/10 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
JS开发 富文本编辑器TinyMCE详解
2019/07/19 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
原生JS与CSS实现软件卸载对话框功能
2019/12/05 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
Python实现字典依据value排序
2016/02/24 Python
python中函数默认值使用注意点详解
2016/06/01 Python
详解Python中的Descriptor描述符类
2016/06/14 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
python机器学习之KNN分类算法
2018/08/29 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
美国折衷生活方式品牌:Robert Graham
2018/07/13 全球购物
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
小学生美德少年事迹
2014/02/02 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
单位实习介绍信
2015/05/05 职场文书
地道战观后感300字
2015/06/04 职场文书
新店开张宣传语
2015/07/13 职场文书
win10下go mod配置方式
2021/04/25 Golang