[Bài đọc] Kế thừa trong PHP

Lập trình Hướng Đối tượng

Kế thừa (inheritance) là một đặc điểm quan trọng của mô hình Lập trình hướng đối tượng. PHP là một ngôn ngữ lập trình hướng đối tượng, do đó chúng ta cần nắm rõ cách thức triển khai cơ chế kế thừa trong PHP để có thể sử dụng tốt tính năng này.

Kế thừa là gì?

Kế thừa là cơ chế cho phép một lớp thừa hưởng các thuộc tính và phương thức của một lớp khác đã được định nghĩa trước đó.

Chẳng hạn, nếu lớp A được định nghĩa như sau:

class A{    
   public $some_property;  
    
   function some_method(){       
      echo "This method is defined inside class A";   
 }
}

Và lớp B kế thừa lớp A:

class B extends A{    
}

Thì tất cả các đối tượng của lớp B đều có thuộc tính $some_property và phương thức $some_method.
Có nghĩa là đoạn mã sau hoàn toàn đúng:

$b = new B();
$b->some_property = 'Hello';
$b->some_method();

Lớp A được gọi là lớp cha (parent class hoặc supper class).

Lớp B được gọi là lớp con (child class hoặc drived class).

Kế thừa để mở rộng

Kế thừa là cơ chế để mở rộng tính năng của các đối tượng hiện có. Chẳng hạn, khi lớp B kế thừa lớp A thì lớp B còn có thể định nghĩa thêm các hành vi khác:

class B extends A{   
    public $some_other_property;    
    function some_other_method(){ 
   }
}

Như vậy, các đối tượng của lớp B sẽ có các thuộc tính và hành vi được định nghĩa trong lớp A cộng thêm các thuộc tính và hành vi được định nghĩa trong lớp B. Có nghĩa là đoạn mã sau hoàn toàn đúng:

$b = new B();
$b->some_property = 'Hello';
$b->some_method();
$b->some_other_property = 'World';
$b->some_other_method();

Leave a Reply

Your email address will not be published.