• 技术文章 >后端开发 >PHP问题

    php构造方法的作用

    藏色散人藏色散人2019-08-24 14:04:30原创1995

    php入门到就业线上直播课:进入学习

    php构造方法的作用

    php构造方法的作用就是用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。

    相关推荐:【PHP教程

    构造函数

    __construct ([ mixed $args [, $... ]] ) : void

    PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

    注:

    如果子类中定义了构造函数则不会隐式调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用 parent::__construct()。如果子类没有定义构造函数则会如同一个普通的类方法一样从父类继承(假如没有被定义为 private 的话)。

    示例1 使用新标准的构造函数

    <?php
    class BaseClass {
       function __construct() {
           print "In BaseClass constructor\n";
       }
    }
    class SubClass extends BaseClass {
       function __construct() {
           parent::__construct();
           print "In SubClass constructor\n";
       }
    }
    class OtherSubClass extends BaseClass {
        // inherits BaseClass's constructor
    }
    // In BaseClass constructor
    $obj = new BaseClass();
    // In BaseClass constructor
    // In SubClass constructor
    $obj = new SubClass();
    // In BaseClass constructor
    $obj = new OtherSubClass();
    ?>

    为了实现向后兼容性,如果 PHP 5 在类中找不到 __construct() 函数并且也没有从父类继承一个的话,它就会尝试寻找旧式的构造函数,也就是和类同名的函数。因此唯一会产生兼容性问题的情况是:类中已有一个名为 __construct() 的方法却被用于其它用途时。

    与其它方法不同,当 __construct() 被与父类 __construct() 具有不同参数的方法覆盖时,PHP 不会产生一个 E_STRICT 错误信息。

    自 PHP 5.3.3 起,在命名空间中,与类名同名的方法不再作为构造函数。这一改变不影响不在命名空间中的类。

    示例2

    <?php
    namespace Foo;
    class Bar {
        public function Bar() {
            // treated as constructor in PHP 5.3.0-5.3.2
            // treated as regular method as of PHP 5.3.3
        }
    }
    ?>

    以上就是php构造方法的作用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php
    上一篇:php析构函数的作用 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• php的构造函数解析• PHP中文网带你看php构造方法与访问控制• php的构造函数是什么?php构造函数的用法介绍(实例)• php中构造方法和析构方法的代码实现• php析构函数的作用
    1/1

    PHP中文网