> php教程 > php手册 > PHP面向对象之private权限控制

PHP面向对象之private权限控制

WBOY
풀어 주다: 2016-06-13 10:57:36
원래의
961명이 탐색했습니다.

/***
====笔记部分====
权限修饰符
作用: 用来说明 属性/方法的权限特点
写在 属性/方法前面
共有3个权限修饰符
private 私有的  , 保护的最严
protected 保护的
public 公共的    ,保护的最松
疑问:
public修饰的属性/方法,可以在哪儿访问?
private 修饰的属性/方法,可以在哪儿访问?
如何判断属性/方法 有没有权限访问?
答:看访问时的位置!
private的属性/方法,只能在类定义的大括号内{},才能访问
public 的属性, 在任意位置都可以访问

***/


[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,'
';//happay  
 
echo $lisi->getmoney(),'
';//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权限控制
只能在类的{} 内调用,
走出了{}, 谁也调不动.
*/  
 
?> 

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,'
';//happay

echo $lisi->getmoney(),'
';//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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿