PHP 抽象方法与抽象类abstract关键字介绍及应用

yipeiwu_com7年前PHP代码库

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程序的方法小结

1. If a method c++an be static, declare it static. Speed improvement is by a factor of 4. 如果一...

phpmyadmin的#1251问题

mysql> update mysql.user SET Password = OLD_PASSWORD('newpwd...

PHP将两个关联数组合并函数提高函数效率

在foreach中循环查询数据代码量比较少,但是性能比较低,好点的解决办法是将id收集起来,用in一次性查询,但是这引发了数据结构不是我们用PHP自带的函数可以合并的,今天测试了一下:...

php 中英文语言转换类

起初想到制成XML文档形式,这样操作也起来很容易。只是看到说XML效率不怎样 再者就是不同的模板,可这样也有个小问题,有些词汇比如时间提示是不确定,与可能是minute ,day。也有可...

php基于 swoole 实现的异步处理任务功能示例

本文实例讲述了php基于 swoole 实现的异步处理任务功能。分享给大家供大家参考,具体如下: 安装swoole: 下载官方swoole压缩包,解压进入目录 $ cd swoole...