<?php class Computer {
private $_name;
private $_model;
private $_cpu;
private function __set($_key,$_value) {
$this->$_key = $_value;
} private function __get($_key) {
return $this->$_key;
}
}
$computer = new Computer();
$computer->_name = '联想';
$computer->_cpu = '四核';
$computer->_model = 'i7';
echo $computer->_name;
echo $computer->_cpu;
echo $computer->_model;
我想问的事如果使用了_set和_get方法,那么类的私有属性就可以在外面任意使用赋值修改,那么和把属性设置为Public有何区别了,感觉上这两个方法没有什么用了。
private $_name;
private $_model;
private $_cpu;
private function __set($_key,$_value) {
$this->$_key = $_value;
} private function __get($_key) {
return $this->$_key;
}
}
$computer = new Computer();
$computer->_name = '联想';
$computer->_cpu = '四核';
$computer->_model = 'i7';
echo $computer->_name;
echo $computer->_cpu;
echo $computer->_model;
我想问的事如果使用了_set和_get方法,那么类的私有属性就可以在外面任意使用赋值修改,那么和把属性设置为Public有何区别了,感觉上这两个方法没有什么用了。
为将接口和实现分开的类或对象创建一个公共接口。
可轻松对属性的有效性进行确认。