Computer >> Máy Tính >  >> Lập trình >> PHP

Làm thế nào để gọi hàm tạo cha trong lớp con trong PHP?


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.