TÌM HIỂU THUỘC TÍNH PUBLIC, PROTECTED, PRIVATE TRONG PHP

Trong tính kế thừatất cả các thuộc tính và cách thức của lớp phụ thân đều thực hiện được nghỉ ngơi lớp con, nhưng thực tiễn có đều thuộc tính và cách tiến hành ở lớp thân phụ không ý muốn lớp con hoàn toàn có thể truy cập vào. Cũng giống như ở lớp con cũng có thể có những thuộc tính và cách thức chỉ mong muốn sử dụng riêng trong đối lớp kia thôi đó chứ không cần được truy vấn xuất ở ko kể lớp. Để xử lý vấn đề này ta sẽ tò mò các mức truy vấn private, protected và public trong lập trình phía đối tượng.

Bạn đang xem: Tìm hiểu thuộc tính public, protected, private trong php

*


*

1. Mức truy cập private

Đây là thành phần chỉ giành riêng cho nội bộ của lớp, tức thị ta cấp thiết truy xuất tới yếu tắc private sinh sống lớp nhỏ hoặc ở bên ngoài lớp.

Mức truy vấn private thường xuyên được áp dụng với:

Các ở trong tính tài liệu nhằm đảm bảo chúng, kiêng sự truy vấn tự bởi từ mặt ngoài. Các thuộc tính này sẽ có được những hàm SET và GET gán cùng lấy dữ liệu.Các phương thức trung gian tính toán trong nội bộ của đối tượng người sử dụng mà ta k muốn bên phía ngoài có thể can thiệp vào.

Ví dụ ko kế thừa:


// Lớp Xeclass Xe private $loaixe; function getLoaixe() return $this->loaixe; function setLoaixe($loaixe) $this->loaixe = $loaixe; // Khởi sinh sản một lớp đối tượng người dùng xe$xe = new Xe(); // Gán giá trị mang đến thuộc tính một số loại xe$xe->setLoaixe("Wave S"); // Lấy quý hiếm thuộc tính nhiều loại xeecho $xe->getLoaixe(); // hiệu quả xuất ra Wave S

Ở ví dụ trên mong truy xuất quý hiếm thuộc tính loaixe thì phải trải qua phương thức setLoaixe với getLoaixe chứ quan yếu trỏ trực tiếp trực kế tiếp thuộc tính loaixe vì thuộc tính loaixe đang ở tại mức private.Như bài này là sai:


// Lớp Xeclass Xe private $loaixe; function getLoaixe() return $this->loaixe; function setLoaixe($loaixe) $this->loaixe = $loaixe; // Khởi tạo nên một lớp đối tượng người dùng xe$xe = new Xe(); // Gán giá chỉ trị mang lại thuộc tính các loại xe// cơ mà sai tại vị loaixe đang ở tầm mức private// cần không thể truy tìm xuất bên ngoài$xe->loaixe = "Wave S"; // Lấy quý giá thuộc tính loại xe// cũng sai bởi vì loaixe là privateecho $xe->loaixe;
// Lớp Xeclass Xe private $loaixe; var $tenxe; function getLoaixe() return $this->loaixe; function setLoaixe($loaixe) $this->loaixe = $loaixe; private function xoaLoaixe() echo "Hàm xóa một số loại xe"; // kế thừa từ lớp xeclass XeHonda extends Xe function hienThiThongTin() // lệnh này đúng echo $this->tenxe; // lệnh này sai vì thuộc tính loaixe là // private trong lớp thân phụ echo $this->loaixe; // lệnh này đúng $this->setLoaixe("Wave S"); // lệnh này đúng echo $this->getLoaixe(); /// Lệnh này sai do hàm xoaLoaixe là // private vào lớp cha $this->xoaLoaixe(); // -------------------// lịch trình chính//// ------------------- // Khởi Tạo mới lớp xe pháo hon da$xehonda = new XeHonda(); // gọi hàm hienThiThongTin trong lớp XeHonda// các bạn kiểm tra vào hàm này để xem các// lỗi mà tôi sẽ ghi chú$xehonda->hienThiThongTin(); // Lệnh này đúng bởi lớp XeHonda thừa kế lớp xe nên// nó được kế thừa các thuộc tính và hàm của lớp cha$xehonda->setLoaixe("Suzuki");echo $xehonda->getLoaixe(); // Lệnh này sai bởi hàm xoaLoaixe trong lớp xe pháo là// private đề xuất lớp XeHonda không được kế thừa$xehonda->xoaLoaixe();

Phần chú thích tôi đã lý giải rõ rồi đề xuất tôi không lý giải gì thêm.

Xem thêm: Mua Hải Sản Ngon Ở Hà Nội Tươi Ngon, Địa Chỉ Bán Hải Sản Tươi Ngon Nhất Tại Hà Nội

2. Mức truy cập protected

Mức truy cập protected chỉ cho phép truy xuất nội cỗ trong lớp đó và lớp kế thừa, riêng rẽ ở phía bên ngoài lớp sẽ không còn truy xuất đc. Nấc protected thường được sử dụng cho phần đa phương thức với thuộc tính có công dụng bị lớp nhỏ định nghĩa lại (overwrite).

Ví dụ:


// Lớp Xeclass Xe protected $loaixe; // kế thừa từ lớp xeclass XeHonda extends Xe function hienThiThongTin() // Lệnh này đúng vày loaixe đã ở // mức protected nên nó được thừa kế $this->loaixe = "Wave S"; protected function suaChuaXe() // Lệnh // ------------------//// Chuong Trình Chính//// ------------------// $honda = new XeHonda(); // Lệnh này sai vì loaixe đang// ở tại mức protected phải ở bên ngoài lớp// ko được truy tìm xuất vào$honda->loaixe = "Wave Tàu"; // Lệnh này đúng$honda->hienThiThongTin(); // Lệnh này sai vì: function suaChuaXe đang// tại mức protected đề xuất ko thể truy hỏi xuất// từ không tính lớp XeHonDa$honda->suaChuaXe();

3. Mức truy cập public

Đây là mức truy cập thoáng nhất vì vì chúng ta cũng có thể truy cập tới các phương thức và thuộc tính ở bất cứ đâu, dù trong nộ cỗ của lớp tuyệt ở lớp bé hay cả phía bên ngoài lớp hầu như được.

Khi khai báo nằm trong tính là public ta có thể dùng từ bỏ khóa var để thay thế sửa chữa cho public giống như các ví dụ các bài trước.

Ví dụ:


class Xe private $loaixe; // nút private protected $tenxe; // mức protected var $sokhung; // nút public public $soseri; // mức public
Khi khai báo với hàm là public giả dụ ta không đặt từ public sinh hoạt đầu thì php đang tự gọi hàm này là public.

Ví dụ:


class Xe // Ở dạng public vì chưng ta không tồn tại từ khóa gì làm việc trước function showTenXe() // lệnh // Ở dạng public vì có từ khóa public làm việc trước public function showHangXe() // lệnh // Ở dạng private vì gồm từ khóa private ngơi nghỉ trước private function setTenxe() // lệnh // Ở dạng protected vì gồm từ khóa protected sinh sống trước protected function getTenXe() // lệnh

4. Lời kết

Còn mấy nấc nữa tuy vậy trong bài này không đề cập tới, vì thực tế thì nó khôn cùng ít sử dụng. Bài tiếp theo ta sẽ khám phá tínhkế quá lồng vào php nhé.


Danh sách file tải về

thương hiệu file download về Pass bung file
Tải bài học kinh nghiệm định dạng PDF obatambeienwasirherbal.com hoặc gameportable.net