你看看这段代码有问题吗class Room {
    private $door;
    private $window;
    function __construct ($door="",$window=""){
        $this->door=$door;
        $this->window=$window;
    }
    function __set($name,$value){
        $this->$name=$value;
    }
    function roomlist (){
        echo "<br/>门是:".$this->door."<br/>窗户是:".$this->window;
    }
}
class oferroom extends Room {
    private $computer;
    
    function __construct($door,$window,$computer){
        $this->door=$door;
        $this->window=$window;
        $this->computer=$computer;
    }
    
    function roomlist(){
        parent::roomlist();
        echo "<br/>电脑是:".$this->computer;
    }
}$ofer=new oferroom ("铁门","没窗户","联想电脑");//var_dump($ofer); //  object(oferroom)#1 (2) { ["door":"Room":private]=> string(4) "铁门" ["window":"Room":private]=> string(6) "没窗户" }
$ofer->roomlist();
$ofer->door="tata木门";
$ofer->roomlist();这个通过$ofer->door="tata木门";能改变$ofer->roomlist();的输出结果;但是如果改为$ofer->computer="华硕电脑";,然后再用$ofer->roomlist();输出一下就会发现“电脑项”的值并没有改变,也就是__set()只对父类的成员属性有效果!