php面向对象的特性:OOP的封装

字段的作用域:

  1.public 公共的(类外可以访问)

  2.private 私有的(只能类内访问)

  3.protected 受保护的(类内和子类可以访问,类外无法访问)

 /*通过公共的方法来访问私有字段*/
class Computer{
//类的私有字段(成员)
private $_name="联想";
private $_model = "z470"; //通过公共方法来访问私有字段
public function _run(){
echo $this->_name;
}
} $compter = new Computer();
$compter->_run();  //输出值:联想

  如果有10个字段的话怎么办?

 class Computer{
//类的私有字段(成员)
private $_name;
private $_model;
private $_price; //给所有字段赋值
function __set($_key,$_value){
$this->$_key = $_value;
} //所有字段的取值在这里运行
function __get($_value){
return $this->$_value;
} } $compter = new Computer();
$compter->_name = "联想";
$compter->_model = "z470";
$compter->_price = "5000"; echo $compter->_name; //输出值:联想
echo $compter->_model; //输出值:z470
echo $compter->_price; //输出值:5000

方法私有:类中的有些方法并不需要对外公开,只是里面运作的一部分,这时候应该将方法也封装起来。

 class Computer{

     //类的成员
private $_name;
private $_model; //私有方法
private function getEcho(){
echo '我是私有化的方法';
} //公共方法一般是对外的入口
public function run(){
$this->getEcho();
} } $com = new Computer();
$com->run(); //输出值:我是私有化的方法
上一篇:微信支付开发(2) 静态链接Native支付


下一篇:python Descriptor (描述符)