Kế thừa trong php với ví dụ là gì?

Kế thừa là một nguyên tắc quan trọng của phương pháp lập trình hướng đối tượng. Sử dụng nguyên tắc này, mối quan hệ giữa hai lớp có thể được định nghĩa. PHP hỗ trợ kế thừa trong mô hình đối tượng của nó

PHP sử dụng từ khóa extends để thiết lập quan hệ giữa hai lớp

cú pháp

class B extends A

trong đó A là lớp cơ sở [còn được gọi là lớp cha] và B được gọi là lớp con hoặc lớp con. Lớp con kế thừa các phương thức public và protected của lớp cha. Lớp con có thể xác định lại hoặc ghi đè bất kỳ phương thức kế thừa nào. Nếu không, các phương thức được kế thừa sẽ giữ nguyên chức năng của chúng như được định nghĩa trong lớp cha, khi được sử dụng với đối tượng của lớp con

Định nghĩa lớp cha phải đi trước định nghĩa lớp con. Trong trường hợp này, định nghĩa của lớp A sẽ xuất hiện trước định nghĩa của lớp B trong tập lệnh

Thí dụ

Nếu tính năng tự động tải được bật, định nghĩa của lớp cha sẽ được lấy bằng cách tải tập lệnh lớp

Kế thừa ví dụ

Đoạn mã sau cho thấy rằng lớp con kế thừa các thành viên public và protected của lớp cha

Thí dụ

Bản thử trực tiếp

" ;
   }
   protected function protectedmethod[]{
      echo "This is protected method of parent class
" ;    }    private function privatemethod[]{       echo "This is private method of parent class
" ;    } } class childclass extends parentclass{    public function childmethod[]{       $this->protectedmethod[];       //$this->privatemethod[]; //this will produce error    } } $obj=new childclass[]; $obj->publicmethod[]; $obj->childmethod[]; ?>

đầu ra

Điều này sẽ tạo ra kết quả sau. -

This is public method of parent class
This is protected method of parent class
PHP Fatal error: Uncaught Error: Call to private method parentclass::privatemethod[] from context 'childclass'

Ví dụ ghi đè phương thức

Nếu một phương thức kế thừa từ lớp cha được định nghĩa lại trong lớp con, định nghĩa mới sẽ ghi đè chức năng trước đó. Trong ví dụ sau, publicmethod được định nghĩa lại trong lớp con

Thí dụ

Bản thử trực tiếp

" ;
}
protected function protectedmethod[]{
   echo "This is protected method of parent class
" ; } private function privatemethod[]{    echo "This is private method of parent class
" ; } } class childclass extends parentclass{    public function publicmethod[]{       echo "public method of parent class is overridden in child class
" ;    } } $obj=new childclass[]; $obj->publicmethod[]; ?>

đầu ra

Điều này sẽ tạo ra kết quả sau. -

public method of parent class is overridden in child class

Kế thừa phân cấp

PHP không hỗ trợ đa kế thừa. Do đó một lớp không thể mở rộng hai hoặc nhiều lớp. Tuy nhiên, nó hỗ trợ kế thừa phân cấp như sau

Ở đây, newClass được gọi là lớp con, lớp dẫn xuất hoặc lớp con; . Phần tiếp theo của hướng dẫn này cho thấy một số ví dụ về việc sử dụng kế thừa trong PHP

ví dụ 1. Sử dụng kế thừa đơn giản

Tập lệnh sau đây cho thấy cách sử dụng kế thừa đơn giản trong tập lệnh PHP. Trong tập lệnh, Nhân viên là lớp cha chứa hai biến lớp và phương thức setData[] được sử dụng để khởi tạo các biến lớp. Lớp Executive là lớp con được kế thừa từ lớp Employee sử dụng từ khóa mở rộng. Nó chứa một biến lớp và một phương thức có tên showDetails[] để in các biến lớp của lớp cha và lớp con. Sau khi tạo đối tượng của lớp con, các phương thức của lớp cha và lớp con sẽ được gọi bằng đối tượng lớp con

Chủ Đề