Lập trình hướng đối tượng (OOP) trong PHP là một phương pháp mạnh mẽ và linh hoạt để tổ chức mã nguồn. Các khái niệm cơ bản của OOP trong PHP bao gồm:

1. Lớp (Class)

Lớp là một bản thiết kế (blueprint) cho các đối tượng. Nó định nghĩa các thuộc tính và phương thức mà các đối tượng của lớp sẽ có.

Ví dụ

Cú pháp khai báo lớp kế thừa:

Cú pháp xác định lớp đối tượng:

Cú pháp tạo đối tượng:

Lưu ý: các đối tượng trong PHP được sử dụng theo dạng tham chiếu

Phương thức và thuộc tính:

Con trỏ $this:

Cú pháp hàm khởi tạo:

Cú pháp hàm hủy:

Cú pháp hàm hủy:

Trong lập trình hướng đối tượng (OOP) trong PHP, các từ khóa public, protected, private, và final đều được sử dụng để kiểm soát quyền truy cập và hành vi của các thuộc tính và phương thức trong lớp. Dưới đây là giải thích chi tiết cho từng từ khóa:

1. Public
public là phạm vi truy cập mặc định trong PHP. Các thuộc tính và phương thức được khai báo là public có thể được truy cập từ bất kỳ đâu: bên trong lớp, từ các lớp kế thừa, và từ bên ngoài lớp.

2. Protectedprotected
Chỉ cho phép truy cập từ bên trong lớp khai báo nó hoặc từ các lớp kế thừa (subclasses). Nó không thể truy cập trực tiếp từ bên ngoài lớp.

3. Private
private chỉ cho phép truy cập từ bên trong lớp khai báo nó. Không thể truy cập từ lớp con hoặc từ bên ngoài lớp.

4. Final
final ngăn không cho lớp hoặc phương thức bị ghi đè (override) bởi các lớp kế thừa. Nếu một phương thức hoặc một lớp được khai báo là final, các lớp con không thể ghi đè phương thức đó, và lớp không thể được kế thừa.
Final Method:
Khi một phương thức được khai báo là final, nó không thể bị ghi đè trong lớp con.

Final Class:
Khi một lớp được khai báo là final, nó không thể bị kế thừa bởi lớp khác.

Tóm tắt sự khác biệt:

public: Truy cập từ bất kỳ đâu (bên trong lớp, lớp con, bên ngoài lớp).

protected: Truy cập từ bên trong lớp và lớp con, không thể truy cập từ bên ngoài lớp.

private: Chỉ có thể truy cập từ bên trong lớp, không thể truy cập từ lớp con hoặc bên ngoài lớp.

final: Ngăn lớp hoặc phương thức bị ghi đè hoặc kế thừa.

Cú pháp khai báo biến và phương thức tĩnh:

Cú pháp khai báo hằng trong lớp:

Lớp trừu tượng

Khái niệm

– Lớp trừu tượng là một lớp cha cho tất cả các lớp có cùng bản chất. Do đó mỗi lớp dẫn xuất (lớp con) chỉ có thể kế thừa từ một lớp trừu tượng.

– Lớp trừu tượng không cho phép tạo instance (không thể tạo được các đối tượng thuộc lớp đó).

Cú pháp khai báo lớp trừu tượng

Ví dụ:

Lớp interface

Khái niệm

Lớp interface được xem như một mặt nạ cho tất cả các lớp cùng cách thức hoạt động nhưng có thể khác nhau về bản chất.

Lớp dẫn xuất có thể kế thừa từ nhiều lớp interface để bổ sung đầy đủ cách thức hoạt động của mình (đa kế thừa – Multiple inheritance).

Cú pháp khai báo lớp interface

Công dụng

Giống nhau:

Chèn file vào file hiện tại, nếu file được chèn có lỗi thì hiện thông báo lỗi

Khác nhau:

+ Khi file được chèn bằng lệnh require() có lỗi thì trình biên dịch sẽ dừng lại, không dịch nữa và sẽ xuất hiện thông báo lỗi.

+ Khi file được chèn bằng lệnh include() có lỗi thì trình biên dịch vẫn tiếp tục dịch cho đến hết, đồng thời cũng xuất hiện warning để cảnh báo file đó bị lỗi.

Ví dụ
Giả sử 2 đoạn chương trình sau cùng sử dụng tập tin require_include.php không tồn tại như sau:

Hàm include_once và require_once

– Là 2 hàm biến đổi của hàm include và require nhằm mục đích nếu tập tin đã được chèn trước đó thì không chèn nữa.

– Ví dụ: giả sử có tập tin require_include_once.php như sau:

CHỦ ĐỀ KHÁC