Khoá học: Thiết lập dự án Wordpress

Nếu bạn đang tìm kiếm một cách nhanh chóng và hiệu quả để thiết lập một trang web cá nhân hoặc doanh nghiệp của mình, hãy bắt đầu với WordPress. Được coi là nền tảng quản lý nội dung (CMS) phổ biến nhất trên thế giới, WordPress cho phép bạn dễ dàng tạo ra một [...]

PHP Thiết lập “phạm vi truy cập” của các thuộc tính & phương thức

– Trong quá trình khai báo một lớp, chúng ta cần phải xác định rõ “phạm vi” có thể truy cập vào các thuộc tính & các phương thức của lớp.

– Dưới đây là ba từ khóa dùng để xác định phạm vi truy cập vào các thuộc tính & phương thức của lớp.

  • public (mặc định) – Thuộc tính & phương thức có thể được truy cập ở bất cứ đâu.
  • protected – Thuộc tính & phương thức chỉ có thể được truy cập bên trong lớp, hoặc bên trong các lớp được kế thừa từ lớp này.
  • private – Thuộc tính & phương thức chỉ có thể được truy cập bên trong lớp.

– Trong lớp Laptop bên dưới, ba thuộc tính $model, $color, $price có phạm vi truy cập khác nhau. Trong đó, thuộc tính $model có thể được truy cập ở bất cứ đâu (bởi vì nó là public), còn thuộc tính $color & $price thì không thể truy cập ở bên ngoài lớp, nếu các bạn cố truy cập chúng ở bên ngoài lớp thì sẽ xảy ra lỗi.

<?php
	class Laptop{
		public $model;
		protected $color;
		private $price;
	}
	$asus = new Laptop();
	$asus->model = "ASUS FX503"; //OK
	$asus->color = "Gray"; //ERROR
	$asus->price = "25.000.000"; //ERROR
?>

– Một ví dụ khác.

– Phương thức set_name() không được xác định phạm vi, cho nên mặc định là public, nó có thể được truy cập ở bất cứ đâu.

– Phương thức set_color() được thiết lập protected, cho nên nó chỉ có thể được truy cập bên trong lớp Laptop, hoặc bên trong những lớp kế thừa từ lớp Laptop.

– Phương thức set_price() được thiết lập private, cho nên nó chỉ có thể được truy cập bên trong lớp Laptop.

<?php
	class Laptop{
		public $model;
		public $color;
		public $price;
		function set_model($input_model){ //phương thức không xác định phạm vi, mặc định là “public”
			$this->model = $input_model;
		}
		protected function set_color($input_color){
			$this->color = $input_color;
		}
		private function set_price($input_price){
			$this->price = $input_price;
		}
	}
	$asus = new Laptop();
	$asus->set_model("ASUS FX503"); //OK
	$asus->set_color("Gray"); //ERROR
	$asus->set_price("25.000.000"); //ERROR
?>

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *