Bài 12: Access Modifier trong PHP

 

Access Modifier 

 

  1. Giới thiệu Access Modifier:
    Trong tính kế thừa, tất cả các thuộc tính và phương thức của đối tượng cha đều sử dụng được ở đối tượng con. Nhưng thực tế có những thuộc tính và phương thức ở đối tượng cha ta không muốn hàm con truy cập vào, cũng như ở đối tương con có những thuộc tính và phương thức chỉ muốn sử dụng riêng chứ không được truy xuất tới. Để giải quyết vấn đề này chúng ta cần phải sử dụng Access modifier.Access Modifier là các từ khóa dùng để gán quyền truy xuất cho các thuộc tính hoặc phương thức. Có 3 mức truy cập là: Public, private và protected.
  2. Các mức truy cập trong Access Modifier:

      1. Mức truy cập Public:
        Bạn có thể truy cập các thuộc tính và phương thức mang cơ chế public bất kỳ ở đâu từ trong bản thân lớp đó đến lớp kế thừa và cả bên ngoài.Khi khai báo với hàm là public nếu ta không đặt public ở đầu thì PHP sẽ tự hiểu hàm này là public.

        Ví dụ:

        Access Modifier Public

        Access Modifier Public

        Public là cấp độ thoáng nhất, những hàm public thường đuọc dùng để lấy dữ liệu và xuất dữ liệu ra bên ngoài, hay là những hàm xử lý dữ liệu, những hàm này mang tính chất là hàm thao tác cuối cùng với lập trình viên. Ví dụ như các hàm SET và GET được để ở dạng

      2. Mức truy cập Protected:
        Mức truy cập protected chỉ cho phép truy xuất trong lớp đó và lớp kế thừa nó nên bên ngoài lớp đó sẽ không truy cập vào được. Protected thường được dùng cho những lớp có khả năng bị kế thừa.Ví dụ:

        Access Modifier Protected trong PHP

        Access Modifier Protected


        Protected thường được dùng khi bạn biết chắc là có lớp khác sẽ kế thừa lớp này và những phương thức, thuộc tính đó chỉ được dùng trong lớp kế thừa nó.
        Giả sử bạn khai báo lớp Động Vật, trong đó có hàm lưu dữ liệu động vật vào database, hàm này dùng chung cho tất cả các lớp kế thừa nó và để bảo mật ta sẽ không muốn nó có thể gọi từ bên ngoài, do đó ta sẽ khai báo là protected.

      3. Mức truy cập Private:
        Private là thành phần dành riêng cho lớp, không được truy xuất với bất kỳ một lớp nào khác ( kể cả lớp kế thừa nó ) hoặc ở bên ngoài mà sẽ chỉ được nhìn thấy và truy xuất ở bản thân lớp định nghĩa thành viên đó. Nó chỉ dành riêng cho việc xử lý nội bộ. Ví dụ:

        Access Modifier Private

        Access Modifier Private


        Thông thường để an toàn dữ liệu các thuộc tính đều ở dạng private nhưng điều này rất phiền hà vì phải tạo thêm các hàm SET và GET nên các lập trình viên cũng ít chú trọng đến nó. Tuy nhiên có những trường hợp sau ta bắt buộc phải dùng private để an toàn cho đối tượng:
        -Những thuộc tính có tính biến đổi dữ liệu khi nhập và lấy dữ liệu như thuộc tính username và password.
        -Những phương thức chỉ dùng nội bộ trong lớp đó, không có sử dụng bên ngoài lớp.

         

     

You may also like...

1 Response

  1. Hiếu says:

    Bài viết khá hay và bổ ích. Cảm ơn bạn nhé

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">