php中构造方法是对象创建完成后第一个被对象自动调用的方法。在每个类中都有一个构造方法,如果没有显示地声明它,那么类中都会默认存在一个没有参数且内容为空的构造方法。
构造方法的作用
通常构造方法被用来执行一些有用的初始化任务,如对成员属性在创建对象时赋予初始值。
构造方法的在类中的声明格式
function __constrct([参数列表]){
方法体//通常用来对成员属性进行初始化赋值
}
在类中声明构造方法需要注意的事项
1、在同一个类中只能声明一个构造方法,原因是,PHP不支持构造函数重载。
2、构造方法名称是以两个下画线开始的__construct()
现在就来看一个例子:
01 |
<?php |
02 |
class Person{
|
03 |
|
04 |
public $name ;
|
05 |
public $age ;
|
06 |
public $sex ;
|
07 |
|
08 |
public function __construct( $name = "" , $sex = "男" , $age =27){ //显示声明一个构造方法且带参数
|
09 |
$this ->name= $name ;
|
10 |
$this ->sex= $sex ;
|
11 |
$this ->age= $age ;
|
12 |
}
|
13 |
public function say(){
|
14 |
echo "我叫:" . $this ->name. ",性别:" . $this ->sex. ",年龄:" . $this ->age;
|
15 |
}
|
16 |
|
17 |
}
|
18 |
?> |
创建对象$Person1且不带任参数
1 |
$Person1 = new Person();
|
2 |
echo $Person1 ->say(); //输出:我叫:,性别:男,年龄:27
|
创建对象$Person2且带参数"张三"
1 |
$Person2 = new Person( "张三" );
|
2 |
echo $Person2 ->say(); //输出:我叫:张三,性别:男,年龄:27
|
创建对象$Person3且带三个参数
1 |
$Person3 = new Person( "李四" , "男" ,25);
|
2 |
echo $Person3 ->say(); //输出:我叫:李四,性别:男,年龄:25
|