字段的作用域:
1.public 公共的(类外可以访问)
2.private 私有的(只能类内访问)
3.protected 受保护的(类内和子类可以访问,类外无法访问)
1 /*通过公共的方法来访问私有字段*/
2 class Computer{
3 //类的私有字段(成员)
4 private $_name="联想";
5 private $_model = "z470";
6
7 //通过公共方法来访问私有字段
8 public function _run(){
9 echo $this->_name;
10 }
11 }
12
13 $compter = new Computer();
14 $compter->_run(); //输出值:联想
如果有10个字段的话怎么办?
1 class Computer{
2 //类的私有字段(成员)
3 private $_name;
4 private $_model;
5 private $_price;
6
7 //给所有字段赋值
8 function __set($_key,$_value){
9 $this->$_key = $_value;
10 }
11
12 //所有字段的取值在这里运行
13 function __get($_value){
14 return $this->$_value;
15 }
16
17
18 }
19
20 $compter = new Computer();
21 $compter->_name = "联想";
22 $compter->_model = "z470";
23 $compter->_price = "5000";
24
25 echo $compter->_name; //输出值:联想
26 echo $compter->_model; //输出值:z470
27 echo $compter->_price; //输出值:5000
方法私有:类中的有些方法并不需要对外公开,只是里面运作的一部分,这时候应该将方法也封装起来。
1 class Computer{
2
3 //类的成员
4 private $_name;
5 private $_model;
6
7 //私有方法
8 private function getEcho(){
9 echo '我是私有化的方法';
10 }
11
12 //公共方法一般是对外的入口
13 public function run(){
14 $this->getEcho();
15 }
16
17 }
18
19 $com = new Computer();
20 $com->run(); //输出值:我是私有化的方法