1.不使用构造函数
class Preson{
public $name;
public $age;
public $sex;
}
$PresonZhang = new Preson();
$Preson1->$name = "刘海";
$Preson1->$age = 20;
$Preson1->$sex = "女";
若对象为多个或属性有多个,赋值非常繁琐
2.使用构造函数
<?php
class Preson{
public $name;
public $age;
public $sex;
//构造函数
function __construct($params = []){
if (!is_array($params)) {
return;
}
$this->name = $params['name'];
$this->age = $params['age'];
$this->sex = $params['sex'];
}
//获得值
public function getInfo(){
return $this->name."年龄是".$this->age."岁".$this->sex."性";
}
}
//实例化并执行构造函数进行赋值
$PresonZhang = new Preson([
'name'=>"张三",
'age'=>13,
'sex'=>'男',
]);
//获得值
echo $PresonZhang->getInfo();
结果:张三年龄是13岁男性
过程复杂虽然,一旦写完每次赋值非常方便
构造函数 − 主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
在一个类中只能声明一个构造方法,而是只有在每次创建对象的时候都会去调用一次构造方法,不能主动的调用这个方法,所以通常用它执行一些有用的初始化任务。该方法无返回值。