__construct() 是 PHP 的构造方法,在对象实例化时自动调用,用于初始化属性或执行必要操作;支持默认参数但不支持重载;子类需手动调用 parent::__construct()。

__construct() 是 PHP 中的一个特殊方法,称为“构造方法”。当一个对象被创建(实例化)时,这个方法会自动调用。它通常用于初始化对象的属性或执行一些在对象创建时必须完成的操作。
构造方法的作用
构造方法的主要用途是为新创建的对象设置初始状态。比如给属性赋值、连接数据库、检查参数合法性等。
如果没有手动定义 __construct(),PHP 会使用默认的构造函数(无参数,不执行任何操作)。一旦你定义了构造方法,PHP 就会在 new 实例化对象时自动调用它。
基本语法和使用示例
class Person {private $name;
public function __construct($name) {
$this->name = $name;
echo "创建了一个名为 {$this->name} 的人。
";
}
}
// 实例化时自动调用 __construct()
$person = new Person("张三"); // 输出:创建了一个名为 张三 的人。
支持默认参数和重载?
PHP 不支持方法重载(即不能有多个同名但参数不同的 __construct),但可以通过设置默认值来实现灵活传参。
立即学习“PHP免费学习笔记(深入)”;
$this->name = $name;
$this->age = $age;
}
这样允许你不传、传一个或传多个参数创建对象。
父子类中的构造方法
如果子类定义了 __construct(),它不会自动调用父类的构造方法。需要手动使用 parent::__construct() 来调用。
class Student extends Person {private $studentId;
public function __construct($name, $studentId) {
parent::__construct($name); // 调用父类构造方法
$this->studentId = $studentId;
}
}
基本上就这些。__construct() 是面向对象编程中非常基础且常用的部分,掌握它有助于写出更清晰、更健壮的类结构。不复杂但容易忽略细节。











