Lớp riêng trong php

Như đã nhắc đến trong bài viết Phần 1. Hướng đối tượng là gì, cách khai báo, thiết lập và truy xuất đối tượng, thuộc tính, phương thức ,hôm nay mình giới thiệu đến các bạn bài hướng dẫn mang chủ đề. “Hướng đối tượng, tầm xa của thuộc tính và phương thức trong PHP”

Mục tiêu của tầm nhìn chính là gia tăng khả năng kiểm tra các đối tượng, phương thức và thuộc tính sẽ được chỉ định thêm các giá trị tầm xa.
Cho phép chúng tôi kiểm tra khả năng truy cập [như thế nào và ở đâu] thuộc tính và phương thức.
Có 3 loại tầm nhìn thuộc tính và phương thức đó là. công cộng, được bảo vệ và riêng tư. Ngoài ra, tĩnh còn là một loại tầm nhìn của biến, cho phép chúng ta truy cập vào thuộc tính hoặc phương thức mà không cần khởi tạo lớp.

a] Thuộc tính và phương thức mang tầm xa công cộng

Với các thuộc tính và phương thức mang tầm xa công cộng, chúng ta có thể được truy cập ở bất cứ đâu , bao gồm các bên .
Trong PHP, mặc định khi một thuộc tính hay phương thức không được gán tầm xa, thì mặc định thuộc tính hay phương thức đó sẽ mang tầm xa là công khai.
Trong ví dụ sau

Thuộc tính và phương thức mang tầm xa là công khai sẽ được truy xuất bất kỳ phạm vi nào dù là bên trong hay bên ngoài lớp chứa nó

b] Thuộc tính và phương thức mang tầm xa được bảo vệ

Đối với những thuộc tính hay phương thức mang tầm xa được bảo vệ, chúng chỉ có thể được truy xuất bên trong lớp hoặc những lớp kế thừa lớp này. At ví dụ sau

Khi thực thi đoạn script trên, hệ thống sẽ thông báo lỗi là. Lỗi nghiêm trọng. Gọi đến phương thức được bảo vệ …

Điều này có nghĩa là đối với các thuộc tính hay phương thức mang tầm xa được bảo vệ thì chúng sẽ không thể truy xuất
tùy tiện bất cứ nơi nào mà chỉ có thể .

Edit code back as 2 ví dụ dưới đây

Ví du 1

Ở ví dụ 1, ta có thể truy xuất thuộc tính $pro1 thông qua phương thức method2, và vì method2 mang tầm công cộng,

nên ta có thể truy xuất phương thức này bên ngoài lớp, và từ đó lấy giá trị của thuộc tính $pro1
Ví dụ 2.

Ở ví dụ 2, lớp KungfuchildClass là Lớp con kế thừa Lớp cha là KungfuClass, chính vì thế nó là hệ thống qua phương thức gọi phương thức1 sẽ truy xuất được phương thức 1 mang tầm xa được bảo vệ của Lớp cha mà không gặp bất kỳ trở ngại nào, đồng thời . ”

c ] Thuộc tính hoặc phương thức mang tầm xa riêng

Tầm xa riêng chính là tầm xa khó tính nhất trong 3 loại tầm nhìn là công khai, được bảo vệ, riêng tư. Ví dụ về các thuộc tính hay phương thức mang tầm xa này chỉ có thể được truy xuất bên trong lớp chính chứa nó. Kể cả những lớp kế thừa lớp này cũng không thể truy xuất được. Để hiểu rõ hơn chúng ta hãy nhìn 2 ví dụ dưới đây

Ví du 1

Gợi ý. Bạn là người mới và muốn tìm hiểu về Bitcoin nhưng không biết bắt đầu từ đâu?

Ví dụ 2

2 ví dụ trên đều báo lỗi liên quan đến vấn đề truy xuất biến ở cấp độ riêng tư, chính vì thế để có thể truy xuất thuộc tính hay phương thức mang tầm vực riêng tư, chúng ta sửa lại đoạn mã như sau

d ] Thuộc tính và phương thức tĩnh

Từ khóa tĩnh cho phép các thuộc tính và phương thức có thể truy cập mà không cần khởi tạo lớp. Bạn chỉ cần cung cấp theo công thức

Tên lớp + toán tử phân phạm vi “. ” + tên thuộc tính hoặc phương thức

“Một trong những lợi ích chính khi sử dụng thuộc tính tĩnh là chúng giữ các giá trị được lưu trữ trong suốt khoảng thời gian script tồn tại. ”

Để giải thích về điều này, chúng ta hãy cùng nhau xem xét các ví dụ dưới đây và tự suy tính ra mục tiêu của tĩnh cho bản thân mình

Lưu lại đoạn mã này và chạy trên trình duyệt sẽ xuất hiện lần lượt theo các dòng chữ

________số 8

 

Vì thế là xong, chúng ta đã kết thúc bài viết thứ 2 trong chuỗi bài viết nối tiếp về lập trình hướng đối tượng. có gì thắc mắc thì hãy để lại bình luận bên dưới nhé. Hơn

Chủ Đề