加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP致命错误:无法继承抽象函数

发布时间:2020-05-25 09:42:29 所属栏目:PHP 来源:互联网
导读:我不明白我在做错什么 abstract class Css { abstract protected function parse($data);}abstract class CssElem extends Css { abstract protected function parse($data);}class Modifier extends CssElem {

我不明白我在做错什么

abstract class Css {
    abstract protected function parse($data);
}

abstract class CssElem extends Css {
    abstract protected function parse($data);
}

class Modifier extends CssElem {
    function __construct($data = null) {
        if( $data )
            $this->parse ($data);
    }

    protected function parse($data) {
       // Some code...
    }
}

它给了我

[Mon Jul 8 13:21:10 2013] PHP Fatal error: Can’t inherit abstract
function Css::parse() (previously declared abstract in CssElem) in
/home/arthur/NetBeansProjects/capa/CssElem.php on line 21 [Mon Jul 8
13:21:10 2013] 127.0.0.1:41207 [500]: / – Can’t inherit abstract
function Css::parse() (previously declared abstract in CssElem) in
/home/arthur/NetBeansProjects/capa/CssElem.php on line 21

第21行是抽象保护函数解析($data);在CssElem.

我更熟悉Java中的OOP,但根据the doc …

尝试将您的中级班改为:
abstract class CssElem extends Css {
    // abstract protected function parse($data); // <-- take this away
}

参见文档中的this comment.

引用来自评论:

An abstract class that extends an abstract class can pass the buck to its child classes when it comes to implementing the abstract methods of its parent abstract class.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读