公共範圍:屬性(方法,變量等)可以從任何文件中的任何類訪問。
class Example {
public $foo;
}
$example = new Example;
$example->foo = 3; // everything OK
private scope:property只能由同一個類訪問。
class Example {
private $foo;
}
class Child_Class extends Example {
public function some_method()
{
parent::foo = 3; // raises error
}
}
受保護的範圍:屬性只能由相同的類或其它擴展它的類來訪問。
class Example {
protected $foo;
}
class Child_Class extends Example {
public function some_method()
{
parent::foo = 3; // this is OK
}
}
這一切都與一個名爲技術封裝,在你不能讓一個類成員的狀態或行爲給類以外的被改變的事情。 http://en.wikipedia.org/wiki/Encapsulation_(object-oriented_programming)
看起來真的錯了。怪不得PHP總是用醜陋的棍子塗上;-) – Phil 2011-04-08 02:11:06
@Phil是的,這種模式是否被推薦是另一回事...... ;-) – deceze 2011-04-08 02:16:33
這真棒!哈哈 – Sufendy 2011-04-08 03:13:41