class MyPc{ private $name;(标记1) function __construct($n=""){
return $this->name=$n;(标记2)
}
function vod(){ $this->name="Hello";
return $name;
}
}
$pc1 = new MyPc(ee); echo $pc1->name;==============================================
标记2处的语句 是不是等于直接建立了一个name属性同时再赋值给它,就只是把标记1处的name属性给给覆盖了?
因为当把标记1 处给注释掉的时候 还是可以正常打印的,
return $this->name=$n;(标记2)
}
function vod(){ $this->name="Hello";
return $name;
}
}
$pc1 = new MyPc(ee); echo $pc1->name;==============================================
标记2处的语句 是不是等于直接建立了一个name属性同时再赋值给它,就只是把标记1处的name属性给给覆盖了?
因为当把标记1 处给注释掉的时候 还是可以正常打印的,
$pc1 = new MyPc('ee');
function __construct($n=""){
return $this->name=$n;(标记2)
}
按照严格的类的概念以上代码是有错误的,因为在构造函数是不允许有返回值的。
因为当把标记1 处给注释掉的时候 还是可以正常打印的,-----------------------------------------------------对. 因为private类型只能在类内应用, 所以在赋值的同时, 要输出即用return返回值,