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

PHP面向对象之private权限控制

WBOY
Release: 2016-06-13 10:57:36
Original
964 people have browsed it

/***
====笔记部分====
权限修饰符
作用: 用来说明 属性/方法的权限特点
写在 属性/方法前面
共有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权限控制
只能在类的{} 内调用,
走出了{}, 谁也调不动.
*/

?>

 

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template