加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在PHP中声明一个类的ctor’final’是不好的做法吗?

发布时间:2020-12-13 18:13:20 所属栏目:PHP教程 来源:网络整理
导读:如果我有一个由很多很多其他类扩展的父类,并且我想确保父类的构造函数总是运行,那么声明构造函数final是不是一个坏主意? 我在考虑做这样的事情: class ParentClass { public final function __construct() { //parent class initialization... $this-const
如果我有一个由很多很多其他类扩展的父类,并且我想确保父类的构造函数总是运行,那么声明构造函数final是不是一个坏主意?

我在考虑做这样的事情:

class ParentClass {

    public final function __construct() {

        //parent class initialization...

        $this->construct();

    }

    protected function init() {

        echo 'constructing<br>';

    }

}

class ChildClass extends ParentClass {

    protected function init() {

        //child class initialization

        echo 'constructing child<br>';

    }

}

这样子类可以有一个排序构造函数,父类的构造函数将始终执行.这是不好的做法吗?

声明一个最终的__construct确保没有任何扩展您的类的人可以实现具有相同名称的方法.从表面上看,这似乎意味着没有其他人可以为这个类的子类声明构造函数,但事实并非如此,因为Class4()的PHP 4样式仍然可以作为替代使用构造函数的名称.实际上,将构造函数声明为final可以在PHP中找不到任何东西.

(编辑:李大同)

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

    推荐文章
      热点阅读