PHP 생성자

巴扎黑
巴扎黑원래의
2016-11-22 10:45:431312검색

PHP5부터는 클래스에서 __construct 생성자 메서드를 선언할 수 있습니다. 이 메서드는 개체가 인스턴스화될 때 호출됩니다.
참고:
1. 상속된 하위 클래스에 생성자가 없지만 상위 클래스에 생성자가 있는 경우 하위 클래스가 인스턴스화되면 상위 클래스의 생성자가 암시적으로 호출됩니다.
2. 하위 클래스에 생성자가 있고 상위 클래스에도 생성자가 있는 경우 하위 클래스는 명시적으로 parent::__construct()를 호출하여 상위 클래스의 생성자에 액세스해야 합니다.
3. 향후 호환성을 위해 __construct() 메서드가 php5 클래스에 없으면 클래스 이름과 동일한 메서드 이름을 가진 생성자를 찾습니다.

class Person{
public $sex = '男';
function __construct() {
echo 'parent __construct';
}
}
class Student extends Person{
private $id;
private $name;
private $age;
//构造函数
function __construct($id,$name,$age) {
parent::__construct();
echo '__construct';
$this->id = $id;
$this->name = $name;
$this->age = $age;
}
public function getName() {
return $this->name;
}
//析构函数
function __destruct(){
echo '__destruct';
}
}
$su = new Student('id001','张三',20);
echo $su->getName();
echo $su->sex;

인쇄 결과:

parent __construct
__construct
Zhang San
Male
__destruct


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.