Ở phần này, ta sẽ cùng tìm hiểu về 3 cơ chế quan trọng trong hướng đối tượng là public, protected, private. Qua đó ta phân biệt sự khác nhau giữa chúng đồng thời có thể vận dụng chúng một cách hiệu quả khi làm việc với hướng đối tượng.
(*) Public:
Có thể sử dụng những đối tượng để truy cập vào phương thức và thuộc tính mang cơ chế này. Dĩ nhiên nó hỗ trợ sự kế thừa.
(*) protected:
Không thể sử dụng những đối tượng để truy cập vào các phương thức và thuộc tính, nó hỗ trợ sự kế thừa.
(*) Private:
Không thể sử dụng những đối tượng để truy cập vào các phương thức và thuộc tính, không hỗ trợ sự kế thừa.
Ví dụ:
Khi chạy ra kết quả là: ABCD
Thay đổi thành:
echo $a->bcd
Kết quả lỗi
Fatal error: Uncaught Error: Cannot access protected property ABC::$bcd in E:\xampp\htdocs\hocphp\hocmvc\vd02.php:28 Stack trace: #0 {main} thrown in E:\xampp\htdocs\hocphp\hocmvc\vd02.php on line 28
Thay đổi thành:
echo $a->cde
Kết quả lại càng không thể truy cập được vì là private
Fatal error: Uncaught Error: Cannot access private property ABC::$cde in E:\xampp\htdocs\hocphp\hocmvc\vd02.php:28 Stack trace: #0 {main} thrown in E:\xampp\htdocs\hocphp\hocmvc\vd02.php on line 28
Mỗi cơ chế có cách sử dụng riêng, khi sử dụng các bạn chú ý để sử dụng nó phù hợp hơn