Chúng ta sẽ gặp hai trường hợp khi gọi phương thức hàm tạo cha trong lớp con.
Trường hợp1
Chúng ta không thể chạy trực tiếp phương thức khởi tạo của lớp cha trong lớp con nếu lớp con định nghĩa một phương thức khởi tạo. Để chạy một hàm tạo mẹ, cần phải gọi đến hàm cha ::__ construct () bên trong hàm tạo con.
Ví dụ
<?php class grandpa{ public function __construct(){ echo "I am in Tutorials Point"."\n"; } } class papa extends grandpa{ public function __construct(){ parent::__construct(); echo "I am not in Tutorials Point"; } } $obj = new papa(); ?>
Output: I am in Tutorials Point I am not in Tutorials Point
Giải thích
Trong ví dụ trên, chúng ta đã sử dụng parent ::__ construct () để gọi hàm tạo của lớp cha.
Trường hợp2
Nếu con không xác định một phương thức khởi tạo thì nó có thể được kế thừa từ lớp cha giống như một phương thức lớp bình thường (nếu nó không được khai báo là private).
Ví dụ
<?php class grandpa{ public function __construct(){ echo "I am in Tutorials point"; } } class papa extends grandpa{ } $obj = new papa(); ?>
Đầu ra
I am in Tutorials point
Giải thích
Ở đây, lớp cha được gọi ngầm định vì trong lớp con, chúng ta chưa khai báo bất kỳ hàm khởi tạo nào trong lớp con.