PHP比它方便<?php
class A
{
private $str;
function __set($p, $v){
$this->$p = $v;
}
function __get($p){
return $this->$p;
}
}$a = new A;
$a->str = 123;
echo $a->str;
?>
class A
{
private $str;
function __set($p, $v){
$this->$p = $v;
}
function __get($p){
return $this->$p;
}
}$a = new A;
$a->str = 123;
echo $a->str;
?>
分别会在赋值时,获取时自动调用。所以在$a->str = 123;时,实际上是调用了_set()方法赋值的,在echo $a->str;时,时调用了_get()方法。是通过方法赋值的,并不是在外部访问私有成员。php中有很多这样的函数,还有如_construt(构造函数),_destruct(析构函数),__call(重载)...可以把这一类函数叫做魔术函数。
--------------------------
那是php4