日志未经声明,均为风.fox原创。版权采用『 知识共享署名-非商业性使用 2.5 许可协议』进行许可。
目录
博客目录
http://www.foxwho.com/article/24
CSDN目录
http://blog.csdn.net/fenglailea/article/details/60330101
风.fox
PHP 抽象类和抽象方法
抽象类和抽象方法用abstract
关键词
>抽象类不能实例化
继承一个抽象类的时 >1.子类必须定义父类中的所有抽象方法 >2.这些方法的访问控制必须和父类中一样(或者更为宽松) >3.方法的调用方式必须匹配,即类型和所需参数数量必须一致
abstract class ImportExportAbstract
{
// 强制要求子类定义这些方法
abstract protected function format(array $file=[],array $ext=[]);
abstract protected function save();
// 普通方法(非抽象方法)
public function process(array $file=[], array $ext = []) {
$ret = $this->format($file, $ext);
if ($ret['ret'] != 1) {
return $ret;
}
return $this->save();
}
}
class OrderImport extends ImportExportAbstract
{
protected function format(array $file=[],array $ext=[])
{
return ['ret'=>1,'msg'=>'OK'];
}
protected function save()
{
return ['ret'=>1,'msg'=>'OK'];
}
}
//实例化
$OrderImport=new OrderImport();
$ret=$OrderImport->process($_FILE);
print_r($ret);
参考
http://php.net/manual/zh/language.oop5.abstract.php
Donate:| 文章有帮助,可以 请我喝杯咖啡
Powered by foxwho.com 浙ICP备19037334号-1