我想为一个对象的属性赋值.我认为它应该是这样的:
$object->property = "value";
所以,在我的情况下,我做:
$circle_obj->radius = 4;
所以,我预计属性半径应为4.不幸的是,在我的情况下情况并非如此.你明白为什么吗?
您可以在下面看到我的代码.
radius = 4; echo "Oppervlakte van circle is: " . $circle_obj->calcSurface(); //ouput: 0 echo "
"; class Subclass_Square extends BaseClass{ public $width; public $height; public function calcSurface(){ global $width; global $height; return $width * $height; } } $square_obj = new Subclass_Square(); $square_obj->width = 4; $square_obj->height = 4; echo "Oppervlakte van vierkant is: " . $square_obj->calcSurface(); //output: 0 ?>
Tom Walters.. 5
你不应该使用global
,而是$this
这样:
public function calcSurface(){ return M_PI * ($this->radius * $this->radius); }
查看PHP OOP教程以获取更多信息.
并查看变量范围教程以更好地理解global
关键字.