/***
====筆記部分====
權限修飾符
作用: 用來說明 屬性/方法的權限特點
寫在 屬性/方法前面
共有3個權限修飾符
private 私有的 , 保護的最嚴
protected 保護的
public 公共的 ,保護的最松
疑問:
public修飾的屬性/方法,可以在哪兒訪問?
private 修飾的屬性/方法,可以在哪兒訪問?
如何判斷屬性/方法 有沒有權限訪問?
答:看訪問時的位置!
private的屬性/方法,只能在類定義的大括號內{},才能訪問
public 的屬性, 在任意位置都可以訪問
***/
[php]
<?php
class human{
public $mood='';// 心情,公有
private $money=500;// 錢,私有的
public function getmoney(){
return $this->money;
}
//定義私有秘密方法
private function secret(){
echo '我那天偷吃了一塊糖';
}
//告訴我你的秘密方法
public function tellme(){
$this->secret();
}
}
$lisi=new human();
$lisi->mood='happay';
echo $lisi->mood,'<br />';//happay
echo $lisi->getmoney(),'<br />';//500
//echo $lisi->money=300;//對象不可以調用私有屬性
//Fatal error: Cannot access private property human::$money in C:\wamp\www\php\private.php on line 31
//$lisi->secret();//對象不可以調用私有方法
//Fatal error: Call to private method human::secret() from context '' in C:\wamp\www\php\private.php on line 32
$lisi->tellme(); // 可以,因為是通過第17行,即,類內調用的.
/*
總結: private權限控制
只能在類的{} 內調用,
走出了{}, 誰也調不動.
*/
?>
<?php
class human{
public $mood='';// 心情,公有
private $money=500;// 錢,私有的
public function getmoney(){
return $this->money;
}
//定義私有秘密方法
private function secret(){
echo '我那天偷吃了一塊糖';
}
//告訴我你的秘密方法
public function tellme(){
$this->secret();
}
}
$lisi=new human();
$lisi->mood='happay';
echo $lisi->mood,'<br />';//happay
echo $lisi->getmoney(),'<br />';//500
//echo $lisi->money=300;//對象不可以調用私有屬性
//Fatal error: Cannot access private property human::$money in C:\wamp\www\php\private.php on line 31
//$lisi->secret();//對象不可以調用私有方法
//Fatal error: Call to private method human::secret() from context '' in C:\wamp\www\php\private.php on line 32
$lisi->tellme(); // 可以,因為是通過第17行,即,類內調用的.
/*
總結: private權限控制
只能在類的{} 內調用,
走出了{}, 誰也調不動.
*/
?>