PHP 构造方法 __construct() 允许在实例化一个类之前先执行构造方法。
构造方法
构造方法是类中的一个特殊方法。当使用 new 操作符创建一个类的实例时,构造方法将会自动调用,其名称必须是 __construct() 。
在一个类中只能声明一个构造方法,而是只有在每次创建对象的时候都会去调用一次构造方法,不能主动的调用这个方法,所以通常用它执行一些有用的初始化任务。该方法无返回值。但是有形参,也可以传入实参
语法:
function __construct(arg1,arg2,...) { ...... }
例子:
<?php class Person { var $name; var $age; //定义一个构造方法初始化赋值 function __construct($name, $age) { $this->name=$name; $this->age=$age; } function say() { echo "我的名字叫:".$this->name."<br />"; echo "我的年龄是:".$this->age; } } $p1=new Person("lightWay", 23); $p1->say(); ?>
运行该例子,输出:
我的名字叫:lightWay 的年龄是:23
在该例子中,通过构造方法对对象属性进行初始化赋值。
提示
PHP 不会在本类的构造方法中再自动的调用父类的构造方法。要执行父类的构造方法,需要在子类的构造方法中调用 parent::__construct() .
其他语言中,一般类的同名方法会认为是构造方法,php中也可以,但是,注意,在PHP中这个是一个不被赞成使用的方式.
php5里对两者都支持,如果两种构造方法同时存在的话,优先选择第一种.
一个类里面默认有一个不带参数为空的构造方法,一旦自定义了一个构造方法,就会覆盖默认的构造方法.
所以说一个类有且只有一个构造方法.
一个类只能有一个构造方法.(不能重载)
构造方法默认的访问修饰符为public.