什么是构造函数呢?构造函数又有什么作用呢?
构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
可能上面的描述大家还是不能很清楚的了解,我们就举例子向大家讲解下。
构造函数的用法实例
我们先创建一个类,并且初始化这个类。
1
2
3
4
5
6
7
8
9
10
11
class Preson{
public $name;//定义变量
public $age;
public $sex;
public $height;
}
$Preson1 =new Preson();
$Preson1->$name ="大白";//变量赋值
$Preson1->$age = 20;
$Preson1->$sex ="女";
$Preson1->$height = 180;
可以看到,上述例子中赋值过程比较繁琐,如果变量很多的话,工作量将会非常大,很麻烦。所以,我们引入了构造方法。所以构造函数的作用就是用来初始化对象的。该方法可以没有参数,也可以有多个参数。定义构造函数也很简单,__construct(),值得注意的是函数construct前面是两个下划线"_".
了解了构造函数之后,我们用构造函数来重写上面的例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Preson{
public $name;//定义变量
public $age;
public $sex;
public $height;
function __construct($name,$age,$sex,$height){
$this->name =$name;//为变量赋值
$this->age =$age;
$this->sex =$sex;
$this->height =$height;
}
public function PlayBaskteBall(){
if($this->height>175 ||$this->age < 22){
return $this->name ."可以打篮球";
}else{
return $this->name ."不具备打球的条件";
}
}
}
$Preson1 =new Preson("大白","20","女","180");
echo $$Preson1->PlayBaskteBall();
构造方法是初始化对象时使用的,如果没有构造方法,那么PHP会自动生成一个。自动生成的构造方法没有任何参数,没有任何操作。