本帖最后由 meenw 于 2014-07-29 12:47:44 编辑

解决方案 »

  1.   

    class P{
        private $name="";
        function __construct(){
            $this->name="hello";
        }
        public function __set($name, $value){        
            $this->$name=$value;      
        }
        public function showName(){
            echo $this->name;
        }
    }
    class C extends P{
        function __construct(){
            parent::__construct();
            $this->name = '你好';
        }    
    }
    $c=new C;
    $c->showName();print_r($c);你好
    C Object
    (
        [name:P:private] => 你好
    )
      

  2.   


    class P{
        private $name="";
        function __construct(){
            $this->name="hello";
        }
        public function __set($name, $value){
            $this->$name=$value;
        }
        public function showName(){
            echo $this->name;
        }
    }
    class C extends P{
        function __construct(){
            parent::__construct();
             //想在这里给P类的$name换个值(你好)怎么做?
     $this->name = '你好';
        }
    }$obj = new C();
    $obj->showName();