Hướng dẫn dùng abstract constructor trong PHP

  • Trung Nguyen
  • 06/05/2020

  • 5 min read

Abstract class là gì?

Lớp trừu tượng [abstract class] là 1 lớp có những đặc điểm sau:

  • Lớp này có các phương thức trừu tượng.
  • Các lớp khác khi kế thừa lớp trừu tượng sẽ phải định nghĩa các phương thức trừu tượng ấy.
  • Một lớp chỉ có thể kế thừa 1 lớp trừu tượng.

Một lớp trừu tượng là một lớp chứa ít nhất một phương thức trừu tượng. Một phương thức trừu tượng là một phương thức được khai báo, nhưng không được triển khai trong mã.

Abstract class trong PHP

Một lớp hoặc phương thức trừu tượng được định nghĩa với từ khóa abstract:

Khi kế thừa từ một lớp trừu tượng, phương thức lớp con phải được định nghĩa với cùng tên và cùng một chỉ thị truy cập với lớp cha hoặc một chỉ thị truy cập ít hạn chế hơn.

Vì vậy, nếu phương thức trừu tượng được định nghĩa là protected, thì phương thức lớp con phải được định nghĩa là protected hoặc public, không được sử dụng chỉ thị truy cập private.

Ngoài ra, kiểu và số lượng các đối số bắt buộc phải giống nhau. Tuy nhiên, các lớp con có thể bổ sung thêm các đối số tùy chọn.

Vì vậy, khi một lớp con được kế thừa từ một lớp trừu tượng, chúng ta có các quy tắc sau:

  • Phương thức lớp con phải được định nghĩa có cùng tên và nó triển khai mã cho phương thức trừu tượng ở lớp cha.
  • Phương thức lớp con phải được định nghĩa với cùng một chỉ thị truy cập với lớp cha hoặc một chỉ thị truy cập ít hạn chế hơn.
  • Số lượng các đối số bắt buộc phải giống nhau. Tuy nhiên, lớp con có thể bổ sung thêm các đối số tùy chọn.

Ví dụ sau minh họa abstract class trong PHP:

Chủ Đề