程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP面向對象之private權限控制

PHP面向對象之private權限控制

編輯:關於PHP編程

/***
====筆記部分====
權限修飾符
作用: 用來說明 屬性/方法的權限特點
寫在 屬性/方法前面
共有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權限控制
只能在類的{} 內調用,
走出了{}, 誰也調不動.
*/

?>

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved