Không, hàm tạo của lớp cha không được gọi nếu lớp con định nghĩa một hàm tạo.
Từ người xây dựng lớp con của bạn, bạn phải gọi hàm tạo của lớp phụ huynh:
parent::__construct[];
Vượt qua các tham số của nó, nếu cần.
Nói chung, bạn sẽ làm như vậy khi bắt đầu hàm tạo của lớp con, trước bất kỳ mã cụ thể nào; có nghĩa là, trong trường hợp của bạn, bạn sẽ có:
class Child extends Base {
function __construct[] {
parent::__construct[];
echo 'Child __construct
';
}
}
Và, để tham khảo, bạn có thể xem trang này của Hướng dẫn sử dụng PHP: Chất xây dựng và Hàng không - nó nêu [trích dẫn]:
Lưu ý: Các hàm tạo cha mẹ không được gọi là ngầm nếu lớp con định nghĩa một hàm tạo. Để chạy một hàm tạo cha mẹ, cần có một cuộc gọi đến
1 trong hàm tạo con. Parent constructors are not called implicitly if the child class defines a constructor.class Child extends Base { function __construct[] { parent::__construct[]; echo 'Child __construct
'; } }
In order to run a parent constructor, a call to1 within the child constructor is required.class Child extends Base { function __construct[] { parent::__construct[]; echo 'Child __construct
'; } }
Tóm tắt: Trong hướng dẫn này, bạn sẽ học cách gọi hàm tạo cha mẹ từ hàm tạo của lớp con.: in this tutorial, you’ll learn how to call the parent constructor from the constructor of the child class.
Lớp trẻ không có một người xây dựng
Trong hướng dẫn kế thừa, bạn đã học được cách xác định lớp
class Child extends Base {
function __construct[] {
parent::__construct[];
echo 'Child __construct
';
}
}
2 kế thừa lớp class Child extends Base {
function __construct[] {
parent::__construct[];
echo 'Child __construct
';
}
}
3:Tuy nhiên, chúng tôi đã thảo luận về các nhà xây dựng của các lớp phụ huynh và con cái trong bối cảnh thừa kế.
Sau đây thêm một hàm tạo vào lớp
class Child extends Base {
function __construct[] {
parent::__construct[];
echo 'Child __construct
';
}
}
3, chấp nhận tham số class Child extends Base {
function __construct[] {
parent::__construct[];
echo 'Child __construct
';
}
}
5. Trình xây dựng gán đối số class Child extends Base {
function __construct[] {
parent::__construct[];
echo 'Child __construct
';
}
}
5 cho thuộc tính class Child extends Base {
function __construct[] {
parent::__construct[];
echo 'Child __construct
';
}
}
5: